Node.js 如何在Heroku系统变量中设置主文件夹?
我正在Heroku dyno上部署一个node.js应用程序,使用它需要定义一个系统变量Node.js 如何在Heroku系统变量中设置主文件夹?,node.js,heroku,config,system-variable,Node.js,Heroku,Config,System Variable,我正在Heroku dyno上部署一个node.js应用程序,使用它需要定义一个系统变量node\u CONFIG\u DIR,其中包含CONFIG文件夹的位置 config文件夹位于我的项目根目录中 我尝试使用以下值定义系统变量NODE\u CONFIG\u DIR,但均失败: ./config ~/config app/config ~/app/config ./app/config $HOME/config $HOME/app/config 我不断地发现这个错误: WARNING: No
node\u CONFIG\u DIR
,其中包含CONFIG
文件夹的位置
config
文件夹位于我的项目根目录中
我尝试使用以下值定义系统变量NODE\u CONFIG\u DIR
,但均失败:
./config
~/config
app/config
~/app/config
./app/config
$HOME/config
$HOME/app/config
我不断地发现这个错误:
WARNING: No configurations found in configuration directory:app/config
(用上述任何值替换app/config
)
我设法设置了一个系统变量,但它的值没有指向正确的位置
在Heroku中使用系统变量时,引用my tree根目录的正确方法是什么?基于文档-如果
config
文件夹位于应用程序的根目录中,则不需要指定$NODE\u config\u DIR
环境变量
从节点配置: 节点配置为正在运行的进程读取“./config”目录中的配置文件,通常是应用程序根目录。通过将
$NODE\u CONFIG\u DIR
环境变量设置为包含配置文件的目录,可以覆盖此设置。在加载节点配置之前,也可以从节点进行设置:
process.env["NODE_CONFIG_DIR"] = __dirname + "/configDir/";
const config = require("config");
$NODE\u CONFIG\u DIR
可以是根目录的完整路径,如果值以/
或开头,则可以是进程的相对路径。
您可以使用上面的代码从节点代码设置它。您很接近:/app
是正确的路径。您可以通过运行heroku run bash来验证它
这是我的错误
两个答案都是正确的,但没有解决我的问题
问题是,我的配置文件名使用小写,而
NODE_ENV
值是大写。假设您可以让库找到该目录,您打算如何用配置文件填充它?你可能应该读一读关于希罗库的书和它的方式。