node中config的使用;


nodeconfig的使用;

概述:在項目中由於特殊需求,需要設置的一些配置變量在全局使用,這個時候就可以使用config包,來進行管理。

  1. 下載:傳送門

  2. 使用:

    默認會加載當前項目根目錄下的config文件夾下的配置,也可以自己設置加載路徑process.env.NODE_CONFIG_DIR="./page"

    1. 會默認加在 default.js文件;
    2. 若是設置了環境變量developmentproductionenvName,則會加載對應的文件[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
    


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM