我的一个项目文件中包含以下内容:
const baas = process.env.DBID;
console.log('baas', baas);
如果我运行:
cross-env PORT=4000 NODE_ENV=production WEBPACK_CONFIG=browser_prod,server_prod webpack --colors
我的server.js文件如下所示:
const baas = undefined;
console.log('baas', baas);
如预期的那样。但是,我希望能够在运行构建的应用程序时设置ID,而不是在构建应用程序时设置ID,即:
DBID=someotherid node dist/server.js
因此,我需要webpack不要在构建时将
const baas = process.env.DBID
转换为其值,而是将其保持不变,以便server.js
在运行时使用其值。我该怎么做呢?
注意:如果我手动编辑已构建的
server.js
并将undefined
更改为process.env.DBID
,则运行脚本可以运行,并且该应用程序从运行时开始使用env var,但是我不想在构建后编辑文件。 最佳答案
您需要的是process.argv
而不是process.env
:
// server.js
const baas = process.argv[0];
console.log('baas', baas);
然后:
node dist/server.js baas_value
为了方便起见,您可以使用此模块https://www.npmjs.com/package/yargs