我的一个项目文件中包含以下内容:

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

10-08 00:14