簡體   English   中英

無法獲取配置json文件

[英]Not able to get the config json file

我使用以下代碼來使用配置文件,我想讀取值,並嘗試以下操作,但出現錯誤TypeError:undefined不是一個函數

這是我在文件夾configuration / config中創建的json文件

    {
      "ENV": {
        "dev": {
          "PORT": 3050
        },
        "prod": {
          "PORT": 3060
        }
      }
}


config = require('./configuration/config');

我嘗試以下方法獲取ENV,但出現錯誤

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

我使用這個模塊https://www.npmjs.com/package/config

調試中,我看到config是具有定義值的對象...

根據您提供的模塊鏈接,需要將config 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 ,您可以使用與播放對象相同的方式進行播放。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM