环境配置

环境配置的重要性
不同的应用程序运行环境有不同的环境配置。

  • 比如,本地数据库连接用户名密码与服务器环境的用户名密码并不一样;比如,本地启动服务的 IP 与端口与服务器环境有所不同。
  • 在项目的实践过程中,经常和一些敏感的数据信息打交道,比如数据库的连接用户名、密码,第三方 SDK 的 secret 等。这些参数的配置信息是禁止进入到 git 版本仓库的。
  • 在开发环境中,不同的开发人员本地的开发配置各有不同,不依赖于 git 版本库配置。敏感数据的入库,增加了人为泄漏配置数据的风险,任何可以访问 git 仓库的开发人员,都可以从中获取到生产环境的 secret key。

引入一个被 .gitignore 的 .env 文件,以 key-value 的方式,记录系统中所需要的可配置环境参数。并同时配套一个.env.example 的示例配置文件用来放置占位,.env.example 可以放心地进入 git 版本仓库。

# .env.expamle

# 服务的启动名字和端口,但也可以缺省不填值,默认值的填写只是一定程度减少起始数据配置工作
HOST = 127.0.0.1
PORT = 3000
# .env

# 服务的启动名字和端口
HOST = 127.0.0.1
PORT = 3000

读取 .env 中的配置值
通过安装env2插件,来读取 .env 配置文件,加载后的环境配置参数,可以通过例如 process.env.PORT 来读取端口信息

配置参数最终变为:

const { env } = process;

module.exports = {
  host: env.HOST,
  port: env.PORT,  
}

你可能感兴趣的:(环境配置)