Step1 安装
npm i webpack-dev-server
npm i cross-env
Step2 配置
要判断下,这个webpack的配置是要同时跑在开发环境和生产环境的,所以需要一个变量区分下
package.json
加 dev
NODE_ENV=production 适用于 Mac平台上
set NODE_ENV=production 适用于win平台下
这个cross-env 就是处理这两个不同平台的
NODE_ENV 是环境变量
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"
},
NODE_ENV=development 变量名都放在 process.env 里面的。所以在package.json里你可以设置很多个变量名
webpack.config.js
webpack.config.js 上加上下面这段代码,后面用if判断isDev 来运行不同的配置
devserver 这个配置项 是在webpack2以后才加入的,webpack1 没有这个项
webpack-dev-server 启动,启动后就是一个服务,所以devserver
config.devserver配置项
- overlay 用处:webpack编译中,出现的错误,都能显示在网页上
- hot 热重载
const isDev = process.env.NODE_ENV === 'development'
if(isDev){
config.devserver = {
port: '8000',
host: '127.0.0.1',
overlay: {
errors: true
},
hot: true
}
}else{
}
const config = {
//这里放webpack配置
}
`
`
`
module.exports = config
Step3 配置 html 作为入口
- 需要安装一个插件 html-webpack-plugin
npm i html-webpack-plugin
- 在webpack.config.js中 引入 这个插件 并 配置
const HTMLPlugin = require('html-webpack-plugin')
`
`
`
module.exports = {
plugins: [
new HTMLPlugin()
]
}