cross-env 与 dotenv 设置 Node.js 环境变量信息

在命令中指定环境变量信息,可用于指定不同的项目环境。cross-env 用于在命令中直接设置环境变量信息,dotenv 用于读取不同的 .env 文件。

cross-env

用于在命令中直接设置环境变量信息,配置少时使用,方便设置。

安装:

npm i -D cross-env

配置:

{
  "scripts": {
    "dev:start": "cross-env PROJ_ENV=local nodemon node ./build/main.js",
    "start": "cross-env PROJ_ENV=tcloud node ./build/main.js"
  }
}

在环境变量就可以读取到它们了:

console.log(process.env.PROJ_ENV)

dotenv 设置 env 文件

用于设置不同的 .env 文件,环境变量配置多,或者具有隐私要求(如存储数据库连接信息等)时可使用,把多个环境变量写在文件里。

安装 dotenv-cli 包:

npm i -D dotenv-cli

配置:

{
  "scripts": {
    "dev": "dotenv -e .env.dev ts-node-dev ./src/index.ts",
    "prod": "dotenv -e .env.prod node ./dist/index.ts",
  }
}

比如 env 文件里有一个 DATABASE_URL ,用于 prisma 的数据库连接。

设置后,在环境变量就可以读取到它了,prisma 也能读取到对应的配置。

console.log(process.env.DATABASE_URL)
本文收录于专栏
收集一些好用的前端开源库,主要是 npm 包