我正在尝试遵循这里的示例:https://www.npmjs.com/package/nconf
我尝试做的是使用nconf加载一个配置json文件,但我似乎无法实际检索任何配置。我已经将此文件导出到另一个文件,但我也尝试直接运行此文件。我有:
var config = require('nconf');
//priority order
//1. specific overrides
config.overrides({
'always': 'be this value'
});
//2. process.argv
//3. process.env
config.argv().env();
config.file('development', 'development.json');
console.log(config.get('nodeServer'))
module.exports = config;
然而,输出总是未定义的。我的json是这样定义的:
{
"nodeServer": "http://localhost:8090",
"port": 8090
}
它和config.js在同一个目录下。你知道为什么会发生这种情况吗?
还要注意,在我的主server.js中,我有:
var config = require('./config/config');
console.log(config.get('port'));
这也会返回undefined。
发布于 2016-06-29 15:10:05
事实证明,我只是需要这个:
config.file('development',
{file: 'config/development.json'});
发布于 2018-05-31 05:50:06
其他有类似问题的用户应该考虑执行其节点应用程序的当前工作目录。
在我的情况下(使用Visual Studio代码),使用默认配置启动调试会话是不够的。我需要将cwd
属性添加到启动配置中。
我的VS代码launch.config现在看起来像这样:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"program": "${workspaceFolder}\\dist\\index.js",
"preLaunchTask": "tsc: build - tsconfig.json",
"outFiles": [
"${workspaceFolder}/dist/**/*.js"
],
"cwd": "${workspaceFolder}/dist/"
}
]
}
https://stackoverflow.com/questions/38005179
复制相似问题