React + Webpack:运行构建后,process.env为EMPTY

时间:2018-02-02 11:05:28

标签: node.js reactjs

一个常见的问题,但像往常一样,本网站上的每个解决方案都不适合我的情况。

我创建了一个具有特定常量的.env.production文件。

在我的package.json中,我有:

"build": "NODE_ENV=production webpack --config webpack.config.js --colors",

我使用经典:npm run build

运行构建

这是我的webpack.config

const webpack = require('webpack');
const path = require('path');

var config = {
context: __dirname + '/src',
entry: {
    javascript: "./index.js",    
},

output: {
  // path:path.join(__dirname, './dist'),
  path: path.join(__dirname,'../static/js/'),
  filename: 'bundle.js',
},

devServer: {
  inline: true,
  port: 8080
},
 resolveLoader: {
    modules: [path.join(__dirname, 'node_modules')]
 },
 module: {
  loaders: [
     {
        test: /\.jsx?$/,
        exclude: /node_modules/,
        loader: 'babel-loader',

        query: {
           presets: ['react']
        }
     },
     {
        test: /\.css$/,
        loader: 'style-loader'
      }, 
      {
        test: /\.css$/,
        loader: 'css-loader',
        query: {
          modules: true,
          localIdentName: '[name]__[local]___[hash:base64:5]'
        }
      },
     {
        test: /\.svg$/,
        use: [
          {
            loader: "babel-loader"
          },
          {
            loader: "react-svg-loader",
            options: {
              jsx: true // true outputs JSX tags
            }
          }
        ]
      }
    ]
   },
  }

 module.exports = config;

正如您所看到的,我没有使用webpack.DefinePlugin插件覆盖webpack配置中的ENV。

那么为什么我的process.env是EMPTY?

当我使用npm start启动应用程序时,通常会填充process.env并将process.env.NODE_ENV设置为开发。

感谢您的帮助!

0 个答案:

没有答案