nimbus-config
v1.0.1
Published
A TypeScript library for file-based configuration management (JSON or YAML) with environment and command-line overrides.
Downloads
14
Maintainers
Readme
nimbus-config
English | 繁體中文
套件名稱已由原本的
json-env-configure正式更名為nimbus-config。
套件特性與優點
nimbus-config 是一個專為 Node.js 應用程式設計的 TypeScript 套件,提供以檔案(JSON 或 YAML)為基礎的設定管理,並支援環境變數與命令列參數覆寫。
主要特性:
- 支援 JSON 與 YAML 設定檔
- 可用環境變數覆寫設定
- 可用命令列參數覆寫設定
- 支援陣列與深層物件合併
- 易於整合於 CLI 或伺服器專案
- TypeScript 型別安全
安裝
npm install nimbus-config快速範例
假設有一個設定檔 appsettings.json:
{
"name": "my-app",
"version": "1.0.0",
"database": {
"host": "localhost",
"port": 5432
},
"logging": {
"level": "info"
}
}初始化並載入設定:
import { AppConfigure } from 'nimbus-config';
AppConfigure.initAppConfig({
configFileOptions: {
fileType: 'json',
rootPath: __dirname,
filename: 'appsettings.json'
},
envOptions: {
prefix: 'App',
delimiter: '__'
},
keyPathDelimiter: '.',
arrayMergeMode: 'section'
});
// 取得完整設定
const config = AppConfigure.getInstance().config;
// 取得某個區段
const dbConfig = AppConfigure.getInstance().getSection('database');
console.log(dbConfig.host); // 'localhost'
// 環境變數覆寫範例:
// App__database__host=env-db-host
// 會覆寫 config.database.host 為 'env-db-host'
// 命令列覆寫範例:
// node app.js --database.port=9999
// 會覆寫 config.database.port 為 9999Node.js JavaScript 範例
假設有一個設定檔 appsettings.json:
{
"name": "my-app",
"version": "1.0.0",
"database": {
"host": "localhost",
"port": 5432
},
"logging": {
"level": "info"
}
}JavaScript 初始化與載入設定:
const { AppConfigure } = require('nimbus-config');
AppConfigure.initAppConfig({
configFileOptions: {
fileType: 'json',
rootPath: __dirname,
filename: 'appsettings.json'
},
envOptions: {
prefix: 'App',
delimiter: '__'
},
keyPathDelimiter: '.',
arrayMergeMode: 'section'
});
// 取得完整設定
const config = AppConfigure.getInstance().config;
// 取得某個區段
const dbConfig = AppConfigure.getInstance().getSection('database');
console.log(dbConfig.host); // 'localhost'授權
MIT License
