javascript - nodejs如何读写.env文件?
问题描述
如何读写env文件?
原文件:</p>
# I am a note ...
key1=value1
key2=value2
# I am a note ...
我需要一个函数setEnv(key, value)
。
运行setEnv('key1', 'value2')
,让它变成:</p>
# I am a note ...
key1=value2
key2=value2
# I am a note ...
我怎样才能实现它?
解决方案
让我们从创建新项目开始。
mkdir folder_name
cd folder_name
npm init
然后在您的项目目录中安装“envfile”和“dotenv”。安装 envfile 的命令是
npm install envfile --save
同样安装 dotenv
npm install dotenv --save
package dotenv 直接读取 .env 文件 package envfile 用于根据需要对文件进行解析和字符串化。.env
使用您的详细信息在项目目录中创建文件。
# I am a note ...
key1=value1
key2=value2
# I am a note ...
创建一个新文件filename.js
之后,您可以使用以下代码获取和设置环境变量。
const fs = require('fs');
require('dotenv').config()
const {
parse,
stringify
} = require('envfile');
const pathToenvFile = '.env';
/**
*
* @param {string} key
* //Function to get value from env
*/
function getEnv(key) {
console.log("Getting value of " + key);
console.log(process.env[key]);
}
//Calling the function getEnv
getEnv("key1");
/**
*
* @param {string} key
* @param {string} value
* //Function to set environment variables.
*/
function setEnv(key, value) {
fs.readFile(pathToenvFile, 'utf8', function (err, data) {
if (err) {
return console.log(err);
}
var result = parse(data);
result[key] = value;
console.log(result);
fs.writeFile(pathToenvFile, stringify(result), function (err) {
if (err) {
return console.log(err);
}
console.log("File Saved"); // Can be commented or deleted
})
});
}
//Calling the function setEnv
setEnv('key1', 'value2');
在此之后运行您的文件
node filename.js
你可以得到你想要的输出。
初始 .env 文件
# I am a note ...
key1=value1
key2=value2
# I am a note ...
运行程序后
key1=value2
key2=value2
是的,您的评论将被删除。
推荐阅读
- python-3.x - 训练、保存和加载 TensorFlow 模型
- c# - 仅在剑道树视图中显示的扩展项目
- python - pandas 用 nan 值剪切了一个系列
- kubernetes - 在本地开发应用程序然后部署到 Kubernetes 的最佳实践
- javascript - 通用 throw 给 Expected an object to be throw lint 错误
- sql - 选择表 1 中的所有记录,但仅选择表 2 中具有最大版本号的行
- c++ - 变量可能尚未初始化 [MISRA 2012 规则 9.1,强制性]
- javascript - 悬停时文本未对齐
- mysql - SQL Server 未返回响应错误
- android - Android Studio 将设备视为 null