node config

Delphi源码 2025-08-16

配置您的node.js应用程序

发行说明

介绍

Node-Config组织应用程序部署的层次结构配置。

它使您可以定义一组默认参数,并将其扩展到不同的部署环境(开发,QA,分期,生产等)。

配置存储在您的应用程序中的配置文件中,可以被环境变量,命令行参数或外部源覆盖和扩展。

这为您的应用程序提供了使用Node-Config的NPM模块列表中共享的一致配置接口。

项目指南

  • 简单- 快速开始
  • 功能强大- 用于多节点企业部署
  • 灵活- 支持多个配置文件格式
  • 轻量级- 小文件和内存足迹
  • 可预测的- 模块和应用程序开发人员经过良好测试的基础

快速开始

以下示例是JSON格式,但配置可以是其他文件格式。

在您的应用程序目录中安装,然后编辑默认配置文件。

$ npm install config
$ mkdir config
$ vi config/default.json
 {
  // Customer module configs
  "Customer" : {
    "dbConfig" : {
      "host" : "localhost" ,
      "port" : 5984 ,
      "dbName" : "customers"
    } ,
    "credit" : {
      "initialLimit" : 100 ,
      // Set low for development
      "initialDays" : 1
    }
  }
}

编辑配置替代生产部署:

 $ vi config/production.json
{
  "Customer" : {
    "dbConfig" : {
      "host" : " prod-db-server "
    },
    "credit" : {
      "initialDays" : 30
    }
  }
}

在您的代码中使用配置:

 const config = require ( 'config' ) ;
//...
const dbConfig = config . get ( 'Customer.dbConfig' ) ;
db . connect ( dbConfig , ... ) ;

if ( config . has ( 'optionalFeature.detail' ) ) {
  const detail = config . get ( 'optionalFeature.detail' ) ;
  //...
}

config.get()将对未定义的键进行异常,以帮助捕获错别字和缺失值。使用config.has()测试是否定义了配置值。

启动您的应用服务器:

$ export NODE_ENV=production
$ node my-app.js

在此配置中运行, dbConfigportdbName元素将来自default.json文件, host元素将来自production.json Override文件。

文章

  • 配置文件
    • JavaScript配置文件的特殊功能
  • 常见用法
  • 环境变量
  • 保留的单词
  • 命令行覆盖
  • 多个节点实例
  • 子模块配置
  • 从DB /外部来源配置
  • 确保生产配置文件
  • 外部配置管理工具
  • 检查配置源
  • 使用配置实用程序
  • 从配置0.x升级
  • Webpack用法

更多信息

如果您仍然看不到您要寻找的东西,这里还有更多需要检查的资源:

  • Wiki可能有更多的页面,这些页面未直接从这里链接。
  • 查看用node-config在stackexchange上标记的问题。这些由node-config贡献者监控。
  • 搜索问题跟踪器。在那里已经讨论并解决了数百个问题。

贡献者

Lorenwest Markstos jdmarshall im Elliotttf JFELEGE
Leachim2k Enyo josx Leosuncin Arthanzel伦纳多维拉
杰里米·戴利·克尔(Jeremy-Daley-Kr)西蒙·塞辛格Badgerbadgerbadgerbadger nsabovic库恩Osterjour
TH507 Deutscherdude eheikes fgheorghe罗克利超级植物
airdrummingfool Wmertens Xadillax里面DSBERT Jacobemerick

执照

可以根据MIT许可自由分发。

版权(C)2010-2025 Loren West和其他贡献者

下载源码

通过命令行克隆项目:

git clone https://github.com/node-config/node-config.git