我使用以下代码来使用配置文件,我想读取值 我尝试使用以下内容并得到错误 TypeError:undefined不是函数
这是我在文件夹配置/配置
中创建的json文件 {
"ENV": {
"dev": {
"PORT": 3050
},
"prod": {
"PORT": 3060
}
}
}
config = require('./configuration/config');
我尝试使用以下内容来获取ENV并且出现错误
var env = config.get('ENV');
我使用这个模块 https://www.npmjs.com/package/config
在 debug 中,我看到配置是具有已定义值的对象...
答案 0 :(得分:3)
根据您提供的模块链接,配置JSON(default.json
)需要位于名为“config”的root文件夹中。然后,您可以使用
require
模块配置
var config = require('config');
,这似乎会自动加载JSON并解析它。
然后,您可以像在问题中一样使用get
方法:
var env = config.get('ENV');
答案 1 :(得分:1)
你错了。
你需要有一个" config / default.json",基于你的根文件夹。
然后,只是:
var config = require( 'config' );
var env = config.get( 'ENV' );
console.log( env );
config / default.json文件:
{
"ENV": {
"dev": {
"PORT": 3050
},
"prod": {
"PORT": 3060
}
}
}
刚刚测试过您的数据,它可以正常工作。
编辑:
我不确定您是否需要使用此模块,但如果您不这样做,则可以使用以下内容:
var config = require( './configuration/config.js' );
console.log( config.ENV );
并且,您的配置文件将是 ./ configuration / config.js (请注意.js不是.json):
module.exports = {
"ENV": {
"dev": {
"PORT": 3050
},
"prod": {
"PORT": 3060
}
}
}
这是一个简单但有效的配置文件。
答案 2 :(得分:0)
您正在以错误的方式使用模块,您需要这样做:
在您的app文件夹中放置一个名为config
的文件夹,然后您应该在该文件夹中创建一个名为default.json
的文件。所以,它应该是这样的:
yourApp
--config
----default.json
基于您的示例的default.json
内容应仅为此:
{
"ENV": {
"dev": {
"PORT": 3050
},
"prod": {
"PORT": 3060
}
}
}
然后,当你想在任何地方使用你的配置时,你应该要求这样的模块:
var config = require('config');
然后使用您的值:
var devPort = config.get("ENV.dev.port");
当然,您也可以这样做:
var config = require('config');
var env = config.get('ENV.dev');
var port = env.port;
请记住,这是一个JSON
,你可以像玩对象一样玩。