gpt4 book ai didi

node.js - 使用环境变量推送 repo

转载 作者:搜寻专家 更新时间:2023-10-31 23:52:26 26 4
gpt4 key购买 nike

在我机器上的存储库中,我有一个名为 .env 的文件。这包含在我处理项目时用于测试的环境变量。

但是,当我推送到 Github 时,我不想包含这个文件。所以我将它添加到 .gitignore。我有另一个名为 .env.sample 的文件,其中包含供用户设置的空变量。

当使用 npm install 安装应用程序时,我有一个脚本将其从 .env.sample 移动到 .env

这给我带来了问题,因为当我测试并运行安装时,它会覆盖我原来的 .env。这是正常行为,但我忍不住认为有更好的方法可以阻止这种情况发生。

这很痛苦,因为就在我推送之前,我必须将 .env 重命名为 .env.sample 并清除开发变量。

知道如何做到这一点,这样我就不必在推送之前手动重命名文件了吗?

这是来自 package.json 的安装脚本:

"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"build": "webpack --config webpack.config.babel.js",
"start": "npm run build && electron .",
"postinstall": "bash postinstall.sh && mv .env.sample .env",
"add-cors": "add-cors-to-couchdb"
},

postinstall.sh 每次安装运行时都会运行以构建一些软件。我本可以将 mv 放入其中,这就是我可能会做的。

最佳答案

最简单的解决方案是不覆盖文件:

"postinstall": "bash postinstall.sh && cp -n .env.sample .env",

(请注意,我建议使用 cp 而不是 mv,这样您就不会删除默认文件)

另一种(常见的)方法是简单地要求用户这样做。与无论如何他必须执行的所有配置相比,这是一项轻松的任务。

关于node.js - 使用环境变量推送 repo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38977099/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com