首先我们先简单的构建一下项目的目录名字就叫webpack 文件夹,然后我们进到这个文件夹,然后在这里面我们要构建一个从零开始的一个项目结构的目录首先我们现在这个文件夹下面执行一个命令,就是yarn
,这个东西和npm
差不多,听说你下载的速度比npm
快,但是我也没怎么发现,这个东西是facebook推出的,那我来执行这段命令
$ npm i -g yarn
然后安装完之后会有一段提示,说不让你这么安装,说当前的环境有问题,因为是通过npm
装的它,如果node
出了问题,这个东西就不能用了,但是这个东西没什么问题,我也去查了,证明了这件事,然后我们初始化我们的文件夹,之前是npm init -y
,这个也跟它差不多
$ yarn init -y
这时我们的目录会多一个叫package.json的文件
然后我们在根目录创建一个src文件夹,在这个文件夹里创建一个index.js,这个文件是我们的入口文件,然后我们回到根目录来安装我们的webpack
$ yarn add webpack —dev
—dev这个是开发的依赖
然后我们在全局装一下webpack
$ npm i -g webpack
然后我们在根目录创建一个webpack的配置文件叫webpack.config.js,这里面是webpack的主要配置文件,现在我们的目录结构是这样的
然后我们开始配置webpack.config.js
1 | // webpack.config.js 第一步 |
在终端执行
$ webpack
这时我们根目录会生成一个dist文件,里面有一个build.js,这里面是webpack帮你生成的一些内容,这是webpack本身的一些函数,里面的每一行大家都应该知道是什么意思,在这里就不去讲了,现在我们编译的过程已经搞定了,然后我们进入src里面的index.js,这里面我们写一下我们React.js的代码
1 | import React from 'react'; |
然后执行webpack
webpack
会有报错
1 | ERROR in ./src/index.js |
这时候我们还没有react,和react-dom,它不认识jsx语法然后安装
$ yarn add react react-dom
1 | import React from 'react'; |
在执行webpack
先在还不识别jsx语法
我们少了一些东西就是babel
1
2
3 >$ yarn add @babel/preset-react @babel/preset-env @babel/core babel-loader@8.0.0-beta.0 --dev
>
>
创建.babelrc
文件,加入如下代码:
1 | { |
这里是babel的配置这是一个转译的过程,让浏览器能认识
然后我们新建一个index.html文件看看效果
1 | <!DOCTYPE html> |
这个我们的文字就出来了,但是我们是手动引入的<script src="./dist/build.js"></script>
这个文件,我们需要让它自动引入,那我们就得在webpack.config.js里面再配置些东西
先下载一个插件,这个插件是自动导入生成的文件
$ yarn add html-webpack-plugin –dev
现在看看我们的配置文件是什么样子
1 |
|
配置完之后我们把之前引入的<script src="./dist/build.js"></script>
删除调,在执行命令
$ Webpack
这时我们的dist文件里就有个index.html文件了
最后一步就是相当于我们启动一个服务,首先先执行一下命令,这个命令能让我们更方便的执行
$ yarn add webpack-dev-server —dev
然后在我们的package.json,下加一段话
1 | { |
然后我们运行命令
$ yarn start
执行完之后,它会告诉我们,我们的项目现在已经运行在http://localhost:8080/,然后我们就直接输入地址http://localhost:8080/,就行了,自动的你对文件进行修改它就会发生变化,实时更新,是不是很好