【问题标题】:How to programmatically write a value to a variable in my .env file?如何以编程方式将值写入 .env 文件中的变量?
【发布时间】:2020-03-30 10:58:15
【问题描述】:

因此,对于我的 Node.js 应用程序,我创建了一个可以从命令行调用的种子脚本。 这将基于 JWT 机密创建用户和密码。 运行脚本时,我希望秘密是自定义生成的字符串,并将其写入我的.env 文件中的APP_SECRET 变量。 有没有办法以编程方式在 .env 文件中使用此自定义字符串填充变量?

【问题讨论】:

  • 到目前为止您尝试过什么?读取文件,替换 APP_SECRET= 之后的任何值,然后将文件写回文件系统。另一种选择是使用 .env 模板文件,或者只是将新值附加到文件的末尾,等等。

标签: node.js dotenv


【解决方案1】:

所以,您需要做两件事:生成随机字符串并将其写入您的 .env 文件。

  1. 要生成随机字符串,请使用npm package 或基于node crypto module 的手工生成器。
  2. 比使用fs nodule 将变量写入文件。 例如,

    fs.appendFileSync('.env', 'APP_SECRET=var');

    fs.appendFile('.env', 'APP_SECRET=var', function (err) {
       if (err) 抛出错误;
    });

但是,这会将字符串附加到文件中。如果您想每次都替换 ENV 变量,请使用fs.writefile()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-25
    • 1970-01-01
    • 2017-10-27
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2017-02-01
    • 1970-01-01
    相关资源
    最近更新 更多