如何列出点 env 文件中列出的所有变量(例如:.env.local.example)

How to list all variables listed in a dot env file (e.g: .env.local.example)

我想遍历 .env.local.example 中定义的环境变量列表(在 Node.js 中), 不加载这些变量。 (它们不能替换现有变量)

所以,我基本上想阅读那些,我应该使用 dot-env 特定工具,还是我可以简单地获取任何 YAML 解析器?

我不关心值,我只关心 .env.local.example 文件中的键。

因此,给定以下 .env.local.example:

FAUNADB_SERVER_SECRET_KEY=
MAGIC_AUTH_SECRET_KEY=

我想得到一个字符串数组['FAUNADB_SERVER_SECRET_KEY', 'MAGIC_AUTH_SECRET_KEY']

你可以试试

Console.log(Object.keys(process.env))

但是要小心,本地系统也会添加额外的变量(比如 vsCode 也会添加一些不同的东西,process.env 中也会添加),所以你可能会从你的系统中获得额外的变量也是。

如果您不想加载 .env.local.example 以避免替换现有变量。

尝试在正则表达式的帮助下使用 fs

这是一个例子:

const fs = require('fs');
const path = require('path');

let arr_env = fs.readFileSync(path.join(__dirname, '.env.local.example'), 'utf-8').match(/^[A-Za-z0-9_]+/gm);
console.log(arr_env);

// Expected Result: ['FAUNADB_SERVER_SECRET_KEY', 'MAGIC_AUTH_SECRET_KEY']