NodeJS - config不加载配置文件

时间:2018-04-30 11:17:56

标签: node.js node-config

我正在使用export class TranslateUniversalLoader implements TranslateLoader { /** * Gets the translations from the server * @param lang * @returns {any} */ public getTranslation(lang: string): Observable<any> { return Observable.create(observer => { observer.next( //Perfom API call here fs.readFileSync(`http://example.com/locales/${lang}.json`, 'utf8') ); observer.complete(); }); } } 模块config。正确地在输出方向上复制配置文件。但是,NodeJS模块仍然无法加载它们。

config

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

import config from 'config';

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

1 个答案:

答案 0 :(得分:0)

在您的示例中,您只需要&#39;配置包。你还没有真正要求加载它。

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

您可以从命令行设置NODE_ENV值。 E.g。

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

然后,在您的代码中,然后将配置文件中的元素分配给var或constant。 E.g。

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