webpack使用记录之一
本地开发使用webpack-dev-server
在staging或者production使用webpack.
如何设置成production环境的webpack
在webpack.config.js配置文件中加入一个plugins
const webpack = require("webpack");
....
plugins: [
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify(process.env.NODE_ENV)
}
}),
new webpack.optimize.UglifyJsPlugin()
]
在production环境设置NODE_ENV='production'。
UglifyJsPlugin插件是用来压缩的,但是如果项目中使用的是es6,那么会报错:
ERROR in bundle.js from UglifyJs
Unexpected token: name (urlParts) [bundle.js:45490,4]
所以需要用新的package去解决
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
...
//替换new webpack.optimize.UglifyJsPlugin()
new UglifyJsPlugin()
参考链接:
1.Use the Production Build
2.Webpack 2: -p option does not set NODE_ENV to "production" in webpack config 中的回答