您需要添加:
new webpack.DefinePlugin({ ’process.env’: { ’NODE_ENV’: JSON.stringify(’production’) } })
为您的生产配置
解决方法所以这是一个完整的错误: 您当前正在使用NODE_ENV ===’production’之外的缩小代码。这意味着您正在运行较慢的Redux开发版本。
我使用的是第三方图表库CanvasJS,该库需要访问全局范围。当我将其导入我的任何模块中时,似乎在浏览器中实际的代码就会中断(可能是一个this问题)。
我使用Webpack解决了这个问题,并用gulp将bundle.min.js与缩小的Charting库捆绑在一起。
直到我尝试生产构建,此方法才能正常工作。我认为对 CanvasJS 的引用可能在此过程中被弄乱了。
我的Webpack.config文件:
var debug = process.env.NODE_ENV !== 'production'; var webpack = require(’webpack’); var path = require(’path’); module.exports = { context: path.join(__dirname,'public'),devtool: debug ? 'inline-sourcemap' : null,entry: './js/main.js',resolve: { alias: { ’react’: ’react-lite’,’react-dom’: ’react-lite’ } },module: { loaders: [ { test: /.jsx?$/,exclude: /(node_modules|bower_components)/,loader: ’babel-loader’,query: { presets: [’react’,’es2015’,’stage-0’],plugins: [ ’transform-class-properties’,’transform-decorators-legacy’],} } ]},output: { path: __dirname + '/public/build/',filename: 'bundle2.min.js'},plugins: debug ? [] : [ new webpack.optimize.DedupePlugin(),new webpack.optimize.OccurenceOrderPlugin(),new webpack.optimize.UglifyJsPlugin(),// new webpack.optimize.AggressiveMergingPlugin() new webpack.optimize.UglifyJsPlugin({ mangle: false,sourcemap: false }),],};
我试图将CanvasJS标记为“外部”,但这也不起作用。如何才能使Redux不会“运行缓慢”,并具有对全局对象的引用?