webpack环境区分

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 中的回答

你可能感兴趣的:(webpack环境区分)