问题标签 [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.
django - .env 在 uwsgi 上使用 django-environ 重新加载
我真的需要一拳。我确实有完整的设置和运行项目。Django、nginx、supervisor、uwsgi - 启用触摸重载的帝王。
uwsgi.ini
当我进行更改并触摸文件时,它会重新加载所有内容,项目运行完美。
但我确实对 .env 文件有疑问。
django settings.py
如果我更改 .env 文件中的某些内容并将其上传到服务器,触摸 wsgi 文件,它不会反映 .env 文件中的更改。如果我调用 manuall 'service uwsgi.project restart' 它会加载新的文件内容。
问题:我是否错过了配置中的某些内容?触摸文件时如何强制 uwsgi 重新加载 .env 文件内容。
谢谢
django - 在 Django Celery 中使用来自 .env 的环境变量
我正在使用Django 2.x和Celery 4.3.x
在我的Django应用程序中,我使用dotenv从.env
文件中提供环境变量并加载环境变量,我在manage.py
和wsgy.py
文件中有以下脚本
环境变量具有插件使用的 AWS 凭证,以使用SESanymail
发送邮件。
现在,我正在使用 Celery 任务发送电子邮件并使用命令行运行 celery worker
工作人员正在运行,但是在发送电子邮件时,它在 celery 任务中出现错误,因为
似乎试图与我的笔记本电脑的用户连接,而不是使用.env
文件中定义的凭据。
如何使用该.env
文件将环境文件提供给 Celery 工作人员?
node.js - 如何在持续集成中管理 .env 配置
我用 nodejs 开发一个应用程序并做出反应。我在不同的环境中使用 dotenv 进行配置。
我使用 TFS 2017 构建和发布我的应用程序。
添加生产环境的 .env 文件的最佳做法是什么?
javascript - React 中的 env-vars 使用 Dotenv 和 Webpack
我想访问我在前端(React)中定义的一些环境变量。
我有以下设置:
- React + NodeJS(我不使用
create-react-app
) - 网络包 4
- 多腾夫
我试图关注https://medium.com/@trekinbami/using-environment-variables-in-react-6b0a99d83cf5#0618但它不起作用,也不会抛出任何错误。
webpack.config.js
有了上面的 Webpack 配置,我想我应该可以<h4>My var: {process.env.REACT_APP_MY_VAR}</h4>
在file.js
,当然我已经在位于项目根目录的 -file 中定义REACT_APP_MY_VAR
了.env
。
上面我希望file.js
渲染 的值REACT_APP_MY_VAR
,但我没有渲染任何东西,无论是值还是错误。
node.js - process.env 变量与 .env 配置中的值不同
在最近的一个 nodejs 项目中,我遇到了一件很奇怪的事情:我在 .env 文件中设置了 HOSTNAME 变量,当它包含在 .js 文件中时,HOSTNAME 的值与 .env 中的不同。为什么?
--
情况
.env
服务器.js
控制台输出
预期的控制台输出
--
调试
- Nodejs 应用程序安装在 windows server 2008 上,其中机器的 DNS 条目是 foo.bar.com。从 Intranet 甚至可以通过“ http://foo ”访问该机器(无论出于何种原因)。
- 该服务器上没有其他 nodejs 应用程序运行
- 问题只发生在 HOSTNAME 上,没有其他变量名(至少不是我能找到的)
- 如果 HOSTNAME=localhost 并且我从服务器浏览器运行应用程序,则工作得很好
- 如果我将 HOSTNAME 重命名为 _HOSTNAME (并替换我的代码中所有出现的 HOSTNAME),则工作得很好
- 如果我在本地机器上运行代码并且只有一个 .hosts 条目“127.0.0.1 foo.bar.com”,则工作得很好
我已经通过重命名为 _HOSTNAME 解决了这个问题,但我想知道为什么会发生这种情况,以及是否有其他 .env 变量名可能会受到这种奇怪事件的影响
javascript - 在我获得 .env 文件中的所有变量之后,如果它在 bash 或系统中定义,如何替换它们的任何变量的值
在 nodejs 项目中如果
- 我有
index.js
包含以下内容的文件
- 我有
.env
包含以下内容的文件
- 然后我去 bash 并运行以下命令
ENVIRONMENT_VARIABLE
运行应用程序后我将获得 的价值是b
(在 bash 中反抗)
但是在 webpack 项目中如果
- 我有
index.js
包含以下内容的文件
- 而且我的
.env
文件与前一个相同(在 nodejs 项目中) - 而我的 webpack 配置如下
- 然后我去 bash 并运行以下命令
ENVIRONMENT_VARIABLE
运行应用程序后我将获得 的值是a
(在.env
文件中阻止)而不是b
(在 bash 中阻止)
但是
ENVIRONMENT_VARIABLE
我想要获得的价值是b
(在 bash 中拒绝)而不是a
(在.env
文件中拒绝)。如果ENVIRONMENT_VARIABLE
没有在 bash 或系统中定义,我想要获得的值是a
(在.env
文件中定义)
node.js - 如何从nodejs中的process.environment中提取环境变量
我已经在我的虚拟 nodejs 项目中成功集成了条带支付。但是我仍然遇到了一个问题,因为我必须将代码推送到我的 github 存储库,所以我无法继续前进。所以,我通过 npm 安装了 dotenv 包,并创建了一个 .env 文件来存储我的条带密钥。如果我使用 process.env.STRIPE_SECRET_KEY 提取条带密钥付款失败,但如果我直接通过 STRIPE_SECRET_KEY 付款成功。
我什至安慰了 process.env,它确实显示了我的条带密钥。
这是我的 server.js 文件:
这是我的 payment.js 文件:
这是我的 .env 文件:
直接将条带密钥传递给条带可以工作,但如果我使用 process.env.STRIPE_SECRET_KEY 提供条带密钥,它会失败。我希望 process.env.STRIPE_SECRET_KEY 工作,以便我可以安全可靠地将代码推送到我的 github 存储库。
javascript - 如何让 Dotenv 和 Nock 协同工作?
目前在我的一个应用程序中,我正在使用 nock 来模拟我的 api 请求。不幸的是,在同一个项目的另一个测试文件中,我使用了 dotenv。如果我使用 dotenv,我的 nock 没有模拟 url,它使用的是原始 api 请求。任何建议或帮助表示赞赏。 我的测试文件
我在测试目录中的其他文件
node.js - 如何测试 dotenv 包以确保它隐藏敏感数据?
dotenv包在 Node.js 应用程序中用于向外界隐藏敏感数据。
部署它很简单,
在 app.js 中设置自定义目录来访问.env
文件也很简单,
.env
以简单的名称/值模式存储数据,
从 app.js 很容易访问这些数据,
问题:我怎么知道这是否对外界隐藏了数据?我可以在dotenv
启用和禁用的情况下执行哪些测试以显示它隐藏了敏感数据?我希望能够证明它是有效的。
node.js - dotenv 似乎没有加载任何环境变量
我正在开发标准的 Node+Express 网络应用程序。其他一切工作正常,但我无法使.env
文件填充 process.env
起初,我认为这是一个范围问题,因为我的 app.js 是从哪里dotenv
调用的,它位于 src 子文件夹中并且.env
位于根目录中。但是使用节点工具并使用名为 的包确认它find-config
,我有正确的绝对路径。我从来没有因为找不到文件而收到 ENOENT。
我尝试了一切,从dotenv
文档中解释的调试内容到我自己的调试,确保一切就绪。这是我最近的尝试:
我已经暂停执行并断言这确实realpath
是绝对.env
路径 这里是.env
console.log 输出{}
,这与我尝试过的每一种途径都是一致的:从来没有错误,也从来没有解析过的对象。只是虚无。
这样做:
它会反弹{"parsed":{}}
我变得如此可疑,以至于我下载、安装并运行了 29k 星的大型 Hackathon Starter 存储库,它使用相同的方法。
最初,它不起作用,因为作者使用了相对路径。使用绝对路径,它可以工作。
如果有帮助,请提供更多信息:
这会记录以下内容:
如您所知,该缓冲区确实是文件: