dotenv-safe安全地加载环境变量的工具的使用详解

8 min read

dotenv-safe是一个用于安全地加载环境变量的Node.js模块,可以在项目中快速、简便地加载环境变量,同时确保加载的环境变量的安全性,防止在开发和测试环节中发生数据泄露和安全漏洞。接下来详细讲述如何使用dotenv-safe加载环境变量。

  1. 安装dotenv-safe

使用npm安装dotenv-safe:

npm install dotenv-safe
  1. 创建.env文件

在项目根目录下创建一个名为“.env”的文件,用于存储环境变量,格式为“KEY=VALUE”,如下所示:

DB_HOST=localhost
DB_USER=root
DB_PASS=123456
  1. 加载.env文件

在项目的入口文件中(一般为app.js或index.js),通过dotenv-safe加载环境变量:

require('dotenv-safe').config();

// code ...

注意:这段代码一定要放在项目最顶部,确保环境变量能够在项目中被使用。

  1. 使用环境变量

dotenv-safe加载.env文件中定义的环境变量后,就可以在项目中使用这些环境变量了。在Node.js中通过process.env获取环境变量的值,如下所示:

const db_host = process.env.DB_HOST;
const db_user = process.env.DB_USER;
const db_pass = process.env.DB_PASS;
  1. 设置.env.example文件

在项目中设置一个“.env.example”文件,用于告知其他开发者在展开项目时需要什么环境变量,格式和“.env”文件类似:

DB_HOST=localhost
DB_USER=root
DB_PASS=123456
  1. 验证环境变量

dotenv-safe可以帮助我们确保环境变量的正确性和安全性。在使用完dotenv-safe加载环境变量后,还需要使用dotenv-safe验证环境变量,确保环境变量的安全性,代码如下:

const fs = require('fs');
const envFilePath = __dirname + '/.env';

if (fs.existsSync(envFilePath)) {
    require('dotenv-safe').config({
        example: '.env.example',
        path: envFilePath,
    });
} else {
    console.error('.env file is missing');
    process.exit(1);
}

通过使用dotenv-safe加载和验证环境变量,可以确保环境变量的安全性和正确性,避免可能发生的数据泄露和安全漏洞。