学习 React 可以用以下方法直接创建一个 ReactApp ,本文主要介绍如何手动来搭这个环境。
npm install -g create-react-app create-react-app my-app cd my-app npm start
使用淘宝 NPM 镜像
使用 React 和 Webpack 需要安装很多依赖包,不走代理的话速度会非常慢,也很容易出错,所以这里推荐使用淘宝的 npm 镜像来安装,速度非常理想。
使用淘宝镜像安装 npm 包只需要两步即可:
安装 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
使用 cnpm 来安装包
只需要将 npm 替换成 cnpm 即可获得高速下载。
cnpm install [name]
下文中给出的所有安装依赖包的命令都使用 cnpm 安装的。你也可以用 npm。
开始第一个 React
初始化一个 json 配置文件
npm init
执行上面这条命令后输入一些信息即可创建 json 文件,这个文件也可以手动建。entry point 要填 index.js,其他的随意。
安装 React
cnpm install react react-dom --save
安装编译工具 babel
复制代码 代码如下:cnpm install babel-core babel-loader babel-preset-react babel-preset-es2015 --save-dev
安装打包工具 wepback
全局的和当前文件夹的最好都装上,这样可以花式打包。
cnpm install webpack webpack-cli --save-dev cnpm install webpack-dev-server --save-dev cnpm install webpack webpack-cli -g cnpm install webpack-dev-server -g
配置 webpack
为了方便,以下所有文件都建在同一个文件夹下面。
新建 webpack.config.js 并添加以下内容
const path =require('path'); module.exports = { entry: path.resolve(__dirname, 'index.js'), output: { path: path.resolve(__dirname, ''), filename: "bundle.js" }, mode: 'development', module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: "babel-loader", options: { presets: ["es2015","react"] } } ] } };
在 webpack4 中 mode 属性如果不指定会有警告。
创建测试文件
新建 index.js 文件
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render( <h1>我的第一个react例子</h1>, document.getElementById('root') );
新建 index.html 文件
<!DOCTYPE html> <html> <head> <meta charset="UTF-8" /> <title>example</title> </head> <body> <div id="root"></div> <script src="/UploadFiles/2021-04-02/bundle.js">启动
最后执行 webpack 即可将 index.js 打包生成浏览器可执行的 bundle.js 文件。此时,index.html 文件已经可在浏览器中执行了。
附上我的 package.json 文件,直接执行 cnpm install 就能安装所有依赖。
{ "name": "myapp", "version": "1.0.0", "description": "", "main": "index.js", "scripts": { "start": "webpack", "start:dev": "webpack-dev-server" }, "author": "", "license": "ISC", "devDependencies": { "babel-core": "^6.26.0", "babel-loader": "^7.1.4", "babel-preset-es2015": "^6.24.1", "babel-preset-react": "^6.24.1", "webpack": "^4.2.0", "webpack-cli": "^2.0.12", "webpack-dev-server": "^3.1.1" }, "dependencies": { "react": "^16.2.0", "react-dom": "^16.2.0" } }热启动
如果 index.js 发生了改变,则需要再编译打包一次,才能更新 bundle.js 文件,这样效率非常低。webpack 提供了一条命令可以实时进行编译打包。
webpack --watch执行这条命令后,index.js 文件就能被动态编译打包了,非常方便。
不过上面的热启动还是很麻烦,还要手动刷新浏览器,这里还有很牛逼的。
直接执行 webpack-dev-server 即可自动刷新浏览器
如果要换端口的话,在启动命令后面加上--port 端口号即可,例如:webpack-dev-server --port 8001
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]