首页 > 解决方案 > Node.js - 从不同的位置加载 .env 文件

问题描述

我有一个 Node.js 应用程序,它使用标准node index.js语法(相对路径...)运行良好,然后我需要使用绝对路径运行它,node /home/bots/mybot/index.js它也运行良好。

现在我需要添加一个.env仍然从相对路径运行良好的文件,但是我不能再从绝对路径运行它,因为它没有读取.env文件!/我认为它当然是在不理想的道路上寻找它。

编辑:我目前正在使用 discord.js 库,它可能正在使用 dotenv 或内部非常相似的东西。

有什么建议么?

标签: node.js

解决方案


在我的脑海中做一个假设,即你正在为 .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

推荐阅读