当文件被更改时,如何让foreman重新加载node.js?

Sha*_*ell 4 heroku node.js foreman

我当前使用supervisor在本地开发时运行我的node.js应用程序.这很棒,但我目前将所有配置存储在我的中.bash_profile,我想将它们移动到一个.env文件中.

有没有办法通过监视主管的文件来获取工头的环境加载功能?

一种选择是将它添加到我Procfile这样的,但我怀疑这会搞乱Heroku.

`local: supervisor web.js`
Run Code Online (Sandbox Code Playgroud)

Sha*_*ell 13

这是我放在一起的解决方案,效果很好.

安装RerunRb-fsevent.

sudo gem install rerun rb-fsevent  
Run Code Online (Sandbox Code Playgroud)

如果你还没有安装Foreman.

sudo gem install foreman
Run Code Online (Sandbox Code Playgroud)

将环境变量放在.env项目的根目录中.

不要忘记添加.env到您的.gitignore,不要在您的代码中的敏感信息

echo '.env' >> .gitignore  
Run Code Online (Sandbox Code Playgroud)

这就是我的Procfile样子

web: node web.js
Run Code Online (Sandbox Code Playgroud)

现在就这样开始吧

rerun foreman start web  
Run Code Online (Sandbox Code Playgroud)

额外信用,创建别名

echo "alias rrun='rerun foreman start web'" >> ~/.bash_profile  
Run Code Online (Sandbox Code Playgroud)


Die*_*ino 5

另一种解决方案是使用当前配置为您的开发环境创建另一个Procfile文件:

# Procfile.dev
web: supervisor app.js
Run Code Online (Sandbox Code Playgroud)

并开始foreman使用该文件

$ foreman start -f Procfile.dev
Run Code Online (Sandbox Code Playgroud)

您可以选择从git仓库中排除该文件

$ echo "Procfile.dev" >> .git/info/exclude
Run Code Online (Sandbox Code Playgroud)