如何在命令中设置process.env变量并在Webpack文件中检索

时间:2019-06-07 05:30:42

标签: javascript node.js reactjs webpack process

以下是命令-

"analyze": "node scripts/analyze.js"

我试图在其中设置process.env变量,例如-

"analyze": "node scripts/analyze.js BUNDLE_ANALYZE=true"

在我的webpack.config.js文件中,我写的条件是-

if(process.env.BUNDLE_ANALYZE) {
  // DO a Bundle analyzer push to the main plugin array
}

但是它不起作用,请让我知道我在这里做错了。

1 个答案:

答案 0 :(得分:1)

变量声明应位于节点之前:

"analyze": "BUNDLE_ANALYZE=true node scripts/analyze.js"

请记住,“ true”将作为字符串出现。

您还可以使用标志:

node scripts/analyze.js --analyse

然后在您的webpack配置中:

plugins: [
  process.argv.includes('--analyse')
    ? new (require('webpack-bundle-analyzer')).BundleAnalyzerPlugin()
    : null,
].filter(Boolean),