当前位置:   article > 正文

使用 dotenv 与 config 解析全局环境变量

使用 dotenv 与 config 解析全局环境变量

目录

1、dotenv

2、config 配合 js-yaml


1、dotenv

npm 官方文档的这样介绍 dotenv: Dotenv 是一个零依赖的模块,它能将环境变量中的变量从 .env 文件加载到 process.env 中。

  1. # 使用 dotenv 读取 .env 文件
  2. # 安装下载依赖
  3. pnpm init
  4. pnpm i dotenv

 配置

  1. 在项目根目录创建 .env 文件
  2. .env 文件中配置环境变量
  3. index.js文件中使用

我们先创建一个.env文件,例如

代码示例是任意编写的一些全局变量 ,然后我们在index.js文件中就可以使用这些全局变量

使用 dotenv 的方式去配置,已经可以满足我们大多数场景下对于全局变量的使用,

但是如果我们想要通过对象的格式去使用?

亦或者我想要一个默认的全局变量文件,而developmentproduction环境去读取默认的环境变量的同时,又有一些独立存在的全局变量 又该如何实现呢?

2、config 配合 js-yaml

config 自动根据文件扩展名来选择对应的解析方式,配置文件格式为 JSON 或者 YAML

config 会根据当前的环境来加载对应的配置文件

如果当前的环境和默认环境中的配置项重复,那么会以当前环境中的配置项为准

  1. # 一般在 node 侧 进行使用
  2. # 安装下载依赖
  3. pnpm init
  4. pnpm i config js-yaml

我们在项目根目录下建立config文件夹

在其中建立  default.yaml、development.yaml、production.yaml 三个文件

我们下载 cross-env 去配置package.json的启动命令 让我们更加便捷的查看效果

pnpm i cross-env

修改package.json中的dev与prod代码 去设置node对应的环境 

  1. # ...
  2. "scripts": {
  3. "dev": "cross-env NODE_ENV=development node ./index.js",
  4. "prod": "cross-env NODE_ENV=production node ./index.js"
  5. },
  6. # ...

我们在inde.js文件中引入config并使用

  1. const config = require("config");
  2. const dbConfig = config.get("db");
  3. console.log("
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/587230
    推荐阅读
    相关标签