问题标签 [dotenv]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
reactjs - 如何在 npm 脚本中使用自定义 env(.env.production.abc) 文件
我对多个项目使用相同的代码,根据环境文件值,它为项目提供不同的功能。
我已经添加了:
所以我想做如果我运行npm run abc
它应该采取.env.production.abc
,如果我运行命令npm run xyz
它应该采取.env.production.xyz
。
可能吗?
babeljs - dotenv 在使用 Babel 进行转译后无法正常工作
我使用在 dev 中工作的 dotenv 读取 .env 的代码,但是在使用 Babel 进行反编译之后,来自 process.env 的值是未定义的。我创建了一个示例程序来说明下面的问题。
如果我在 projectRoot 并运行
然后
打印值 'var1Val'
但是,如果我这样做
VAR1 的值是“未定义”。
index.js
.env
.babelrc
包.json
python - 为什么 pip 安装 dotenv?
下面是一个 shell 会话,演示了以下步骤:
- 创建并进入虚拟环境
- 确认
dotenv
对 Python 不可用 - 确认不在
dotenv
_ _requirements.txt
- 使用安装包
pip install -r requirements.txt
- 确认
dotenv
对Python 可用 - 确认
dotenv
未列出_pip freeze
这怎么可能?
node.js - dotenv 不适用于 root 权限
我正在运行一个使用create-react-app
. 我想让它在端口上运行80
,所以我添加了一个.env
包含内容的文件
当我跑步时npm start
,我得到
但是当我运行时sudo npm start
,应用程序在端口上启动3000
。
为什么.env
当我使用 运行时我的文件会被忽略,我sudo
该如何解决这个问题?
编辑:这个问题不是关于如何在我运行时保留我当前的环境变量sudo
。这个问题是关于 的行为.env
,以及为什么在运行时它不起作用sudo
。
有趣的是,当我使用 su 时,例如。
它在端口 80 上运行。
为了完全清楚,我想知道如何在80
不通过命令传递端口的情况下在端口上运行我的应用程序,即sudo PORT=80 npm start
. 我相信这就是.env
问题的全部意义所在。
node.js - 我遗漏了一些关于 .env 的内容,你能给我解释一下吗?
我有一个非常基本的需求:根据环境为我的 API 存储不同的端点。假设一个简单的文件是这样的:
对于我的产品环境,它应该变成:
我也想要一个集成测试和一个 uat 端点!
看着我的 package.json 我看到:
所以我的想法是:
- 将命令行参数放在“build”和“start”附近,以便指定本地和生产环境文件
- 有办法在我的应用程序中访问所述配置,比如 config.API_URL
现在,我来自 Spring Boot,在 Spring Boot 中,每个环境都有一个文件。
我虽然 dotenv 可能是我的解决方案,但我在他们的网站上看到了两件奇怪的事情:
- 请不要提交您的 .env 文件 --> 那么,我的同事应该如何构建我的应用程序?我通常至少推送本地和测试环境,同时将uat和生产文件直接保存在服务器下
- 你应该只有一个 .env 文件 --> 好的,这个文件毁了我:如果我只有一个文件,我应该如何处理多个环境???
我在这里想念什么?你能帮我解决我的问题吗?我是 npm 的新手,所以我有点困惑......
reactjs - 如何使用 Firestore 为 Firebase Deploy 定义特定的 .env 文件
所以基本上我想将我的开发 Firestore 数据库与我的部署分开。
我创建了 2 个 Firebase 项目:
- 我的应用开发
- 我的应用程序产品
我还创建了 2 个 .env 文件:
- .env.development
- .env.production
Firebase 托管工作正常,因为我正在使用,firebase use
然后我选择托管代码的那个。问题在于 Firebase FireStore。由于它们都是 Firebase 项目,因此在部署时,它们被视为生产。
那么有没有一种方法可以让我对 Firebase 说一个项目是用于开发或暂存目的?或者有没有办法强制我的 .env.development 文件部署到 Firebase?
node.js - 您可以在 .env 文件的变量中分配多个参数吗?
我想创建一个新变量并在其中使用 2 个参数。我怎样才能做到这一点?我有 newPerson 作为变量。该变量应包含用户标识和密码。任何人都可以帮忙吗?
node.js - 在 `npm install` 之前用 dotenv 替换 .npmrc 中的 env 变量
我必须使用私有注册表中的一些包。因此,在我package.json
的依赖项部分中,我有这样一行:
私有注册表需要身份验证,所以我必须.npmrc
在我的项目中创建文件:
是的,我知道_authToken
,但在我的情况下,使用用户名和密码更容易。
${MYCO_REGISTRY_USER}
无论如何,在这里你可以看到两个 env 变量:${MYCO_REGISTRY_PASSWORD_BASE64}
我必须在之前 npm install
替换它们。我知道这个问题的非常简单的解决方案:将它们放入“全局”环境变量中,例如放入我的 .bash_profile (或您选择的任何终端配置文件)。但我不想将这样的变量保留在“全局”范围内,因为它们仅对当前项目很重要。我想做的是使用dotenv。我想.env
在我的项目的根目录中创建一个文件:
我希望这个值替换我.npmrc
的安装操作中的环境变量。但是当我尝试时,npm install
我得到一个错误:Error: Failed to replace env in config: ${MYCO_REGISTRY_USER}
。我能理解为什么会这样。可能是因为 npm.npmrc
先读取值并尝试替换 env 变量并失败,因为此时它对 dotenv 一无所知。我的问题是如何处理它?
简短的摘要:
我不想将环境变量保留在终端配置文件中,而是想将它
.env
放在我项目中的文件中。我必须先用 dotenv 替换文件中的env
.npmrc
变量npm install
python - ValueError:在带有dotenv的windwos上嵌入了flaskenv的空字符
我正在尝试将烧瓶 dotenv 与 python-dotenv 一起使用,但我注意到 Windwos 10 存在问题。
Everyting 在 Mac、Linux 上运行良好,但在 Windows 上运行烧瓶应用程序时出现异常。
似乎问题出在文件上.flaskenv
。如果我将文件重命名为.flaskenv
,_flaskenv
则不再有异常,但未定义我的环境变量。我也尝试手动加载此文件,但没有任何成功。未_flaskenv
加载。
python - 从另一个 python 脚本调用 settings.py
我有 .env 文件,我在其中添加了环境设置。我编写了“settings.py”,它读取 .env 文件并存储设置值。我想从 other_script.py 导入 settings.py。但我得到 None 作为价值。
我试图执行“settings.py”并返回一个值。另一方面,当我执行导入设置的 other_script 时,这些值变为 None 值。
设置.py:
其他脚本.py:
所以当我执行 other_script.py 时,键应该返回一个值。我想念什么?