0

我正在将该config模块用于NodeJS. 配置文件正确复制到输出方向。但是,该config模块仍然不加载它们。

import config from 'config';

// Prints "undefined"
console.log(config);

配置文件位于 config 子目录中:

+ config
  > default.json
  > development.json
4

1 回答 1

0

在您的示例中,您只是“需要”配置包。您实际上并没有要求加载它。

配置加载的典型用法是基于 NODE_ENV 值。这描述了您运行节点应用程序的环境。例如生产、开发等。

您可以从命令行设置 NODE_ENV 值。例如

export NODE_ENV=development; node ./src/app.js

然后,在您的代码中,您将配置文件中的一个元素分配给一个 var 或常量。例如

const dbconfig = config.get('dbConfig');

所以,以下面的文件为例......

在 /config/development.json

{
  "dbConfig": {
      "user": "some-user",
      "password": "somePassword",
      "connectString": "server:port/schema"
}

在您尝试将配置读入的文件中...

import config from 'config';

const dbconfig = config.get('dbConfig');
console.log ("User is " + dbConfig.user); // should print 'User is some-user'

不要忘记设置 NODE_ENV 值,以便配置知道要从哪个文件读取...

export NODE_ENV=development; node ./src/app.js

或者,使用您的示例

export NODE_ENV=default; node ./src/app.js
于 2018-04-30T12:48:22.493 回答