Webpack无法识别DefinePlugin定义的值

时间:2017-07-06 09:23:42

标签: javascript webpack

当webpack捆绑并且我启动网站时,我收到以下错误:

  假设'prod'env

*** process.env.ENV未定义

但是,如果我记录我的process.env

Object {NODE_ENV: "development", ENV: "development", HOST: "localhost"}

我的网络包配置:

/*  Main */
const webpackConfig = {
  entry: [
    project.app.entry,
  ],
  output: {
    path: project.path.out,
    filename: 'bundle.js',
    publicPath: '/',
  },
  module: {
      rules: [{
        test: /\.js$/,
        include: project.path.app,
        exclude: /node_modules/,
        use: [
          { loader: 'babel-loader' },
          { loader: 'eslint-loader' },
        ],
      }],
  },
  plugins: [
    new webpack.NoEmitOnErrorsPlugin(),
    new webpack.optimize.OccurrenceOrderPlugin(),
    new webpack.HotModuleReplacementPlugin(),
    new webpack.DefinePlugin({
      'process.env': {
        NODE_ENV: JSON.stringify(process.env.NODE_ENV),
        ENV: JSON.stringify(process.env.NODE_ENV),// Added because webpack bundle complains
        HOST: JSON.stringify(process.env.HOST),
      },
    }),
  ],
  devtool: DEV ? 'source-map' : false,
  resolve: {
    modules: ["src", "node_modules"],
    alias: {}
  }
};

这是webpack中的错误,还是我遗漏了什么?谢谢。

2 个答案:

答案 0 :(得分:2)

由于 Grammarly 扩展,有些人遇到了同样的问题。

如果您正在使用它,请将其禁用,错误将会消失。

相关:

How to define process.env.ENV in create-react-app?

*** process.env.ENV is not defined, assuming 'prod' env

https://github.com/facebookincubator/create-react-app/issues/2722

答案 1 :(得分:0)

这似乎是因为HotModuleReplacementPlugin对我造成的