美文网首页
node-npm包-工程配置类

node-npm包-工程配置类

作者: 小飞牛牛 | 来源:发表于2021-09-18 12:11 被阅读0次

工程配置类

dotenv

Dotenv是一个零依赖模块,它将环境变量从.env文件加载到process.env中。

进入官网查看文档
安装

# with npm
npm install dotenv

# or with Yarn
yarn add dotenv

在根目录创建一个.env文件,配置格式如下

DB_HOST=localhost
DB_USER=root
DB_PASS=s1mpl3

文件规则

  1. BASIC=basic 变为 {BASIC: 'basic'}
  2. 空行会被跳过
  3. lines beginning with # are treated as comments
  4. empty values become empty strings (EMPTY= becomes {EMPTY: ''})
  5. inner quotes are maintained (think JSON) (JSON={"foo": "bar"} becomes {JSON:"{"foo": "bar"}")
  6. whitespace is removed from both ends of unquoted values (see more on trim) (FOO= some value becomes {FOO: 'some value'})
  7. single and double quoted values are escaped (SINGLE_QUOTE='quoted' becomes {SINGLE_QUOTE: "quoted"})
  8. single and double quoted values maintain whitespace from both ends (FOO=" some value " becomes {FOO: ' some value '})
  9. double quoted values expand new lines (MULTILINE="new\nline" becomes

使用

const dotenv = require('dotenv')
dotenv.config()
console.log(process.env.DB_HOST)

config 参数设置

设定需要转换的配置文件,默认是.env

dotenv.config({
  path: path.resolve(process.cwd(), '.env.production'),
});

其它方法

parse 从其它来源获取的配置,通过Parse转换得到json, 例如通过fs.readFile读取,或者通过buffer

const dotenv = require('dotenv')
const buf = Buffer.from('BASIC=basic')
const config = dotenv.parse(buf) // will return an object
console.log(typeof config, config) // object { BASIC : 'basic' }

如果设置的变量与环境变量重复,环境变量将被保留(不会覆盖)

但有方法可以不这么做。使用文件读取,动态设置到process.env中

const fs = require('fs')
const dotenv = require('dotenv')
const envConfig = dotenv.parse(fs.readFileSync('.env.override'))
for (const k in envConfig) {
  process.env[k] = envConfig[k]
}

相关文章

  • node-npm包-工程配置类

    工程配置类 dotenv Dotenv是一个零依赖模块,它将环境变量从.env文件加载到process.env中。...

  • MyEclipse 的工程演示

    1. 版本 2. 创建java工程 选择java工程 配置工程 生成目录 创建包和类 创建包的对话框 创建主程序类 运行

  • Eclipse入门教程

    本篇文章带你入门Eclipse,内容包括配置jdk;创建普通工程;创建包;创建类;删除工程;导入工程;导出工程。 ...

  • swagger简单学习

    流程: 系统启动,扫描到api工程下的Swagger2Configuration配置类 配置类中指定了包路径com...

  • mybatis逆向工程配置及异常处理

    使用逆向工程自动生成实体类及mapper 配置 1.新增逆向工程的包 2.加入mybatis-generator自...

  • 无标题文章

    maven父工程:管理jar包的版本号,全局的插件配置、管理通用的工具类(打包方式jar),父工程打包方式pom ...

  • springboot:整合swagger

    先用idea 创建一个springboot 工程,在pom.xml 中导入swagger2 的依赖包 添加配置类 ...

  • spring工程的创建

    建立 spring的工程编写java类配置文件 step one 新建一个普通的java的项目 载入java包 新...

  • SpringBoot 集成 Swagger 最小配置

    引入包 启动类 配置

  • SpringMVC hib-config配置

    Spring目录结构目录结构 配置主包名主包名 配置数据库相关信息数据库 配置实体类相关信息实体类

网友评论

      本文标题:node-npm包-工程配置类

      本文链接:https://www.haomeiwen.com/subject/kmnegltx.html