node
中config
的使用;
概述:在項目中由於特殊需求,需要設置的一些配置變量在全局使用,這個時候就可以使用
config
包,來進行管理。
-
下載:傳送門
-
使用:
默認會加載當前項目根目錄下的config文件夾下的配置,也可以自己設置加載路徑
process.env.NODE_CONFIG_DIR="./page"
。- 會默認加在
default.js
文件; - 若是設置了環境變量
development
、production
、envName
,則會加載對應的文件[nevNane].js
,若是不設置環境變量env.NODE_ENV
同時存在development
的話則會默認加載。development.js
例: const express = require('express'); const app = express(); /** * NODE_ENV的值如果為空則默認加載:development.js文件 * 若設置對應的值,則會加載 [envName].js,通常會配合環境變量使用。 */ process.env.NODE_ENV = 'development' // HOSTNAME的值會加載對應的 [HOSTNAME].js文件,通常會配合域名使用。 process.env.HOSTNAME = 'local.kps.netease.com' // 如果你的配置文件不在config文件夾內,那么你可以使用 NODE_CONFIG_DIR 值來設置你的配置文件夾名。 process.env.NODE_CONFIG_DIR="./paghe" let config = require('config'); console.log(process.env.NODE_ENV); app.get('/', (req, res) => res.send(config)); app.listen(30000, () => console.log(`listen 3000`));
注:local.js文件會始終加載,但只是最后加載。
# 優先級: default.EXT default-{instance}.EXT {deployment}.EXT {deployment}-{instance}.EXT {short_hostname}.EXT {short_hostname}-{instance}.EXT {short_hostname}-{deployment}.EXT {short_hostname}-{deployment}-{instance}.EXT {full_hostname}.EXT {full_hostname}-{instance}.EXT {full_hostname}-{deployment}.EXT {full_hostname}-{deployment}-{instance}.EXT local.EXT local-{instance}.EXT local-{deployment}.EXT local-{deployment}-{instance}.EXT 1、EXT can be .yml, .yaml, .xml, .coffee, .cson, .properties, .json, .json5, .hjson, .ts or .js depending on the format you prefer (see below) 2、{instance} is an optional instance name string for Multi-Instance Deployments 3、{short_hostname} is your server name up to the first dot, from the $HOST or $HOSTNAME environment variable or os.hostname() (in that order). For example if your hostname is www.example.com then it would load www.EXT. 4、{full_hostname} is your whole server name, you may use this when {short_hostname} collides with other machines. 5、{deployment} is the deployment name, from the $NODE_ENV (or if specified, $NODE_CONFIG_ENV) environment variable
- 會默認加在