在if-else中看不到process.env.NODE_ENV

时间:2017-06-30 10:39:05

标签: javascript node.js webpack

console.log在控制台中显示process.env.NODE_ENV productionI'm in if-statement,为什么我无法捕获“else-statement”?有了逻辑解释,我必须在else语句中。

console.log('process.env.NODE_ENV', process.env.NODE_ENV)
if (process.env.NODE_ENV !== 'production') {
  const webpackMiddleware = require('webpack-dev-middleware');
  const webpack = require('webpack');
  const webpackConfig = require('./webpack.config.js');
  app.use(webpackMiddleware(webpack(webpackConfig)));
  console.log('I\'m in if-statement');
} else {
  app.use(express.static('dist'));
  console.log('__dirname', __dirname);
  app.get('*', (req, res) => {
    res.sendFile(path.join(__dirname, 'dist/index.html'));
  })
  console.log('I\'m in else-statement');
}

在控制台中输入set NODE_ENV=production && node server.js

1 个答案:

答案 0 :(得分:1)

当您运行set NODE_ENV=production && node server.js时,process.env.NODE_ENV设置为production

blank之后有一个production。您可以在文件中添加console.log('[' + process.env.NODE_ENV + ']');进行测试。