【问题标题】:require('config') loaded nothing in debugrequire('config') 在调试中没有加载任何内容
【发布时间】:2019-03-23 15:28:54
【问题描述】:

我的 nodejs 应用程序 config = require('config') (3.0.1) 在调试中没有返回任何内容。这是控制台输出:

 config: 
 Config {}

NODE_ENV 只定义在 development.json 中,在 development 中加载没有问题。

这是./config下的文件:

什么可能导致配置模块在调试中加载失败?

【问题讨论】:

  • 你需要一个 index.js 在 config 目录。你想要一个配置目录的例子吗?
  • Julien TASSIN,一个例子会很有帮助。谢谢。
  • 哦,对不起,我没有看到你使用node-config,我以为你使用的是纯nodejs。我不知道这个库:/

标签: node.js node-config


【解决方案1】:

配置文件名需要与您在运行应用程序时设置的 NODE_ENV 或 NODE_CONFIG_ENV 相关联。 (https://github.com/lorenwest/node-config/wiki/Configuration-Files#file-load-order)

您没有在配置文件本身中设置 NODE_ENV。

例如(假设运行您的应用的命令是npm start):

NODE_CONFIG_ENV=foo npm start

^ 这将首先加载default.json 中的所有配置属性,然后使用您在foo.json 中设置的任何属性覆盖它们。如果您想添加 local.json,这些属性将是最终覆盖。

我相信它默认假设你的环境是“开发”,我猜你的 default.json 是空的。

【讨论】:

  • 所有设置也转到 default.json。问题是配置在正常开发中成功加载(例如,当节点 index.js 时)但在使用 VS 代码调试时没有。我在 VS 代码上发布,以了解这是否与 IDE 相关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-11
  • 2023-02-22
  • 2020-01-27
  • 1970-01-01
  • 1970-01-01
  • 2021-07-01
相关资源
最近更新 更多