zoukankan      html  css  js  c++  java
  • Node.js第八篇:Node.js中配置文件管理-Config包的使用

    基本使用

    在程序部署过程中,不同的环境(生产环境、开发环境)程序的一些配置参数不同,比如数据库信息配置。

    对于配置的参数,我们通常使用配置文件管理。

    在nodejs中,可以使用第三方模块config模块管理操作配置文件。

    config模块的作用

    允许开发人员将不同运行环境下的应用配置信息抽离到单独的文件中,模块内部自动判断当前应用的运行环境(环境变量配置的-NODE_ENV的值),并读取对应的配置信息,极大提供应用配置信息的维护成本,避免了当运行环境重复的多次切换时,手动到项目代码中修改配置信息。

    使用步骤

    1. 使用npm install config命令下载模块
    2. 在项目的根目录下新建config文件夹
    3. 在config文件夹下新建default.json、development.json、production.json文件
    4. 在项目中通过require方法,将模块导入程序中
    5. 使用模块内部提供的get方法获取配置信息

    代码示例:

    default.json

    {
      "title":"管理系统"
    }
    

    production.json

    {
      "title":"管理系统-生产环境"
    }
    

    development.json

    {
      "title":"管理系统-开发环境", 
       "db": {
        "user":"root",
        "pwd": "root",
        "host":"127.0.0.1",
        "port":28888,
        "datasource": "myblog"
      }
    }
    

    app.js

    const config = require('config')
    const title = config.get('title')
    console.log(title)
    const host = config.get('db.host')
    console.log(host)
    console.log(process.env.NODE_ENV)
    

    输出结果

    管理系统-开发环境
    127.0.0.1
    development
    

    扩展

    在实际开发中,对于一些敏感配置信息(如:数据库登录密码),我们一般不会选择明文写在配置文件中,而是配置在系统变量中。操作步骤如下

    1. 在config文件夹中建立custom-environment-variables.json文件。

    2. 配置项属性的值填写系统环境变量的名字

    3. 项目运行时config模块查找系统环境变量,并读取其值作为配置项的值。

    custom-environment-variables.json文件

    {
      "db": {
       "pwd": "MYBLOGDB_PWD"
     }
    }
    

    app.js

    const config = require('config')
    console.log(process.env.NODE_ENV)
    console.log(config.get('db.pwd'))
    

    输出结果:

    development
    123456 
    
  • 相关阅读:
    SLA合规率是什么? SLA合规率实践分析
    如何借助Site24x7提高Azure VM的灵活性和效率?
    如何避免LLMNR / NBT-NS欺骗攻击?
    ITSM整治混乱秩序 | 看知名研究所如何解决帮助台管理
    如何使用Applications Manager轻松监控Nginx?
    vue中让input框自动聚焦
    pc端手机号填写与验证信息的样式
    vuex里面的this.$store.dispatch 和 this.$store.commit用法以及区别
    Vue 的状态管理工具 Vuex(Vuex的安装与使用)
    详解Vue的钩子函数(路由导航守卫、keep-alive、生命周期钩子)
  • 原文地址:https://www.cnblogs.com/lpl666/p/12873034.html
Copyright © 2011-2022 走看看