NODE_ENV ==='production'之外的缩小代码.这意味着Redux的开发构建速度较慢

Pet*_*ete 12 reactjs webpack redux

所以这是完整的错误: 您当前正在使用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 }),
],
};
Run Code Online (Sandbox Code Playgroud)

我试图将CanvasJS标记为External,但这也不起作用.如何让Redux不"慢跑",并引用全局对象?

Dmi*_*rov 20

你需要添加:

  new webpack.DefinePlugin({
    'process.env': {
      'NODE_ENV': JSON.stringify('production')
    }
  })
Run Code Online (Sandbox Code Playgroud)

对于您的生产配置

  • 我在所有环境中都会收到此错误。我尝试了德米特里(Dmitriy)你的方法,但没有成功。很好奇为什么在我的所有环境中都会发生这种情况。 (2认同)