Javascript 如何在命令中设置process.env变量并在网页包文件中检索
下面是命令-Javascript 如何在命令中设置process.env变量并在网页包文件中检索,javascript,node.js,reactjs,webpack,process,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 arr
"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
}
但是它不起作用,让我知道我在这里做错了什么。变量声明应该在节点之前:
"analyze": "BUNDLE_ANALYZE=true node scripts/analyze.js"
请记住,“true”将以字符串的形式出现
您还可以使用标志:
node scripts/analyze.js --analyse
然后在您的网页包配置中:
plugins: [
process.argv.includes('--analyse')
? new (require('webpack-bundle-analyzer')).BundleAnalyzerPlugin()
: null,
].filter(Boolean),
我认为应该是
process.argv.includes('analysis')
而不是process.argv.includes('--analysis')
。如果我错了,请纠正我如果您用node scripts/analysis.js--analysis启动脚本,这个process.argv.includes('--analysis')
工作,但遗憾的是这个process.argv.includes('analysis'))
不会。如果你不想要--
你可以这样做!!process.argv.find(x=>/analysis/.test(x))