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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容