0

基本上我使用 babel 来编译我的 nodejs 应用程序,这样我就可以使用 es6 以及node-config包。

默认情况下,该node-config包在 /config 文件夹中查找配置。这可以通过在加载配置之前执行类似的操作来重新分配。 process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";

但是,由于我使用的是 ES6,所以导入会被提升并且总是在任何代码运行之前加载。

我想知道是否有一种方法可以将上述代码提升到所有导入之上,以便它在node-config加载之前运行?或者如果有另一种方法可以解决这个问题?

任何帮助表示赞赏!

4

1 回答 1

0

由于您使用的是 Babel,因此您可以编写自己的插件来执行您需要的任何操作,例如将该语句添加到您需要的文件中。

如果您想在源代码本身中解决此问题,请注意导入是按顺序执行的,因此您可以这样做

// main.js
import './configure-node-config';
import 'node-config';
…

// configure-node-config.js
process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";

并确保在加载process.env之前发生了变异。node-config

于 2018-12-25T13:35:45.550 回答