node.js - Node.js - 从不同的位置加载 .env 文件
问题描述
我有一个 Node.js 应用程序,它使用标准node index.js
语法(相对路径...)运行良好,然后我需要使用绝对路径运行它,node /home/bots/mybot/index.js
它也运行良好。
现在我需要添加一个.env
仍然从相对路径运行良好的文件,但是我不能再从绝对路径运行它,因为它没有读取.env
文件!/
我认为它当然是在不理想的道路上寻找它。
编辑:我目前正在使用 discord.js 库,它可能正在使用 dotenv 或内部非常相似的东西。
有什么建议么?
解决方案
在我的脑海中做一个假设,即你正在为 .env 使用 dotenv 包
来自文档(您可以指定 .env 的自定义路径)
如果包含环境变量的文件位于其他位置,您可以指定自定义路径。
require('dotenv').config({ path: '/full/custom/path/to/your/env/vars' })
或者您可以在调用您的index.js
在运行节点时你的/absolute/path/index.js
node -r dotenv/config your/absolute/path/index.js dotenv_config_path=/custom/path/to/your/env/vars
推荐阅读
- javascript - 如何在本机反应中将数组附加到 FormData
- excel - 删除 vba 中的运行时错误“1004”无法匹配工作表函数类的属性
- python - 遍历模板中相似的模型字段名称(例如 FieldName1、FieldName2 等)
- python - 不再在 Alexa Smart Home Skill 中发现设备
- python-3.x - 如何通过其 CSS 选择器字符串选择此元素?
- python - 如何从 Pyspark / Python 数据集中先前计算的列中获取值
- python - matplotlib 3d:更改脊椎位置时的轴标签填充
- python - Django rest framrwork 断言错误:类 ProductSerializer 缺少“Meta.model”属性
- microsoft-graph-api - 将图形消息保存到 .MSG 或 .EML 文件中
- macos - 在 macOS 上找不到 Boost(缺少:python)