美文网首页
node栈-第三方工具-工程配置类

node栈-第三方工具-工程配置类

作者: 小飞牛牛 | 来源:发表于2021-11-11 08:58 被阅读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栈-第三方工具-工程配置类

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

  • node栈-第三方工具-文件类

    fs-extra fs-extra模块是系统fs模块的扩展,提供了更多便利的 API,并继承了fs模块的 API ...

  • 2016年8月4日学习笔记

    安装环境概要 课后配置环境 学会学习笔记(markdown) 全栈工程师 全栈工程师需要做什么? 前端分为两类 原...

  • 前端工程师的Mac开发机配置

    前端工程师的Mac开发机配置 语言安装 Node.jsnrmbrowser-sync Pythonpsm 工具 代...

  • Carthage 安装与使用

    1、安装 在终端下运行: 2、配置第三方类库 到目标工程目录下创建 Carthage 文件:目标工程目录 在终端上...

  • node-npm包-工程配置类

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

  • springboot redis

    maven配置 配置config 配置yml 工具类 编写测试类

  • Node学习(一)

    前言 前段时间用node写了个工具——主要用于系统内部的一些配置,也是第一次用node。下面是构建一个简单工程的情...

  • 无标题文章

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

  • 我眼中的全栈工程师

    现在越来越多的创业公司都想找全栈工程师,因此市场上就出现了很多伪全栈工程师,特别是学会了Node的前端工程师,前端...

网友评论

      本文标题:node栈-第三方工具-工程配置类

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