![](/img/trans.png)
[英]Is it possible to pass a dynamic variable to process.env, to get the env variable? For example process.env['variable name']
[英]Can I read .env into a variable instead of into process.env?
我想将.env
文件的内容读入 Node.js 中的process.env
以外的变量中。 我目前正在使用dotenv
库,但如果有人可以提供替代方案,我愿意使用其他东西。
在我的特定.env
中,用户名和密码对将存储在服务器端进行身份验证。 我想在不覆盖process.env
的情况下读取文件内容,因为我的应用程序的其他部分依赖于未被覆盖的值。 我知道在dotenv
中默认设置了override: false
,因此这些值不会被覆盖,但我仍然需要访问新值。 一个示例是USERNAME
在一个文件中设置为“ xterm
”以进行第三方终端登录,但如果 dotenv 文件中的用户用户名是“ USERNAME
”,那么我需要根据该值而不是“ xterm
”验证他们的密码,如果这有意义的话。
如果我可以将.env
文件中的数据聚合到类似process.env.specialValues
并通过该嵌套属性访问信息,那将是完美的。
为清楚起见,所需的最终行为示例: process.env.specialValues.USERNAME
使用parse()方法将数据加载到变量中
const { readFileSync } = require("fs");
const { resolve } = require("path");
const { parse } = require("dotenv");
const env = parse(readFileSync(resolve(process.cwd(), ".env")));
或者如果你正在使用 ES 模块
import { readFileSync } from "node:fs";
import { resolve } from "node:path";
import { parse } from "dotenv";
const env = parse(readFileSync(resolve(process.cwd(), ".env")));
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.