无法获取配置json文件

Not able to get the config json file

本文关键字:json 文件 配置 获取      更新时间:2023-09-26

我使用以下代码来使用配置文件,并且我想要读取值我尝试了以下操作,得到了错误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中,我看到配置是具有定义值的对象。。。

根据您提供的模块链接,配置JSON(default.json(需要位于名为"config"的非根文件夹中。然后,您可以使用 require模块配置

var config = require('config');

这似乎会自动加载JSON并对其进行解析

然后,您可以像在问题中所做的那样使用get方法:

var env = config.get('ENV');

你用错了。

您需要有一个基于根文件夹的"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
    }
  }
}

这是一个简单但高效的配置文件。

您使用模块的方式不对,需要这样做:

把一个名为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,你可以像玩物体一样玩。