node.js - 如何使用该子目录的 .env 变量从子目录运行节点应用程序?
问题描述
我有一个名为 app.js 的 Node.js 应用程序,它存储在目录 B 中。
要正确运行此脚本,它需要环境变量。这些存储在一个名为 .env 的文件中,该文件也在目录 B 中。
在我的 app.js 中,环境变量是通过加载的,require("dotenv").config();
然后我可以使用例如访问它们process.env.SOME_VAR
因此,如果我当前位于目录 B 中,我可以使用node app
并且我的应用程序将执行得很好。
但是如果我去父目录 A 并尝试通过运行我的应用程序
node ./B/app
它不会执行,因为它似乎无法访问 .env 文件的环境变量。
所以,我的问题是,如果我想将 .env 文件保存在同一目录中,如何从其父文件夹运行我的脚本?
解决方案
您可以使用dotenv加载环境变量的内容,即
const dotenv = require('dotenv');
// ...
// Then go ahead to load the .env file content into process.env
dotenv.config({ path: '/full/custom/path/to/your/env/vars' });
推荐阅读
- orbeon - 如何从 Orbeon XForms 操作中调用 JavaScript 代码?
- git - git 创建远程分支而不破坏任何现有分支
- python - 在 raspbian OS 上的 python 3.5.3 上安装 opencv
- excel - 在 Excel 中 - 如何计算多个工作表上的多个下拉项目和数量
- ms-access - 将 MS Access 表中的值分配给变量
- vue.js - 推送路由(从 vueJS 移动到 nuxtJS)
- azure - 只有 RDP 从本地局域网工作到站点 2 站点 IPSEC 的天蓝色
- ruby-on-rails - Rspec 和 FactoryGirl 有几个模型
- azure - Azure WAF 403 响应
- css - 为 ID 创建别名