1.3.1、安装依赖
npm i webpack-dev-server -Snpm i cross-env -S
1.3.2、配置package.json文件
"scripts": {"build": "cross-env NODE_ENV=production webpack --config webpack.config.js",//npm run dev"dev":"cross-env NODE_ENV=development webpack-dev-server --config webpack.config.js"},
1.3.3、配置webpack.config.js
const isDev = process.env.NODE_ENV ==='development'if(isDev){config.devServer = {port:8080,host:'0.0.0.0',overlay:{errors:true},hot:true}}
npm run devhttp://localhost:8080端口查看
1.3.4、判断是开发还是生产环境
plugins:[new CleanWebpackPlugin(),new htmlWebpackPlugin(),new webpack.DefinePlugin({// 这里定义在js中可以引用用于判断当前开发环境'process.env':{NODE_ENV:isDev?'"development"':'"production"'}})]
1.3.5、热加载
1.安装热加载插件,使页面不需刷新直接显示最新数据在判断中加入
hot: true激活热更新 2.插入新的插件new webpack.HotModuleReplacementPlugin() / new webpack.NoEmitOnErrorsPlugin()3.引入devtool
if (isDev) {config.devtool = '#cheap-module-eval-source-map',// vue-devtools是一款基于chrome游览器的插件,用于调试vue应用config.devServer = {port: 8880,host: '0.0.0.0',overlay: {errors: true,},// 当修改一个组件时只修改当前的部分,不需要修改整个页面hot: true,},config.plugins.push(// 作用:HMR插件将HMR Runtime代码嵌入到bundle中,能够操作APP代码,完成代码替换new webpack.HotModuleReplacementPlugin(),// 作用:跳过编译时出错的代码并记录,使编译后运行时的包不会发生错误。new webpack.NoEmitOnErrorsPlugin())}
