如何在Heroku上运行带有多个命令的Procfile?

时间:2017-06-24 07:26:29

标签: node.js heroku procfile

我正在尝试将静态网站部署到Heroku,而我却在努力设置Procfile

我有下一个命令在服务器上运行:

  • npm install
  • gulp build(将使用/public文件夹进行构建)
  • http-server(默认情况下会投放/public

我尝试过的事情:

  • web: npm install; gulp build; http-server
  • web: npm install & gulp build & http-server

2 个答案:

答案 0 :(得分:12)

好的,所以我花了一点时间在那上面并得出了答案。默认情况下,heroku正在安装package.json文件中的所有软件包,因此不再需要npm install。然后还剩下什么 - gulp buildhttp-server

对于这种情况,我已将"postinstall" : "gulp build"添加到package.json,并留下了web: http-server

简化事情实际上解决了这个问题。不确定这些信息对您有多大帮助,但值得分享。

答案 1 :(得分:1)

您可能也在同时寻找&&或图书馆。

无论如何,根据文档,使用Procfile只不过是npm启动脚本的入口点。

按照规定(npm-scripts)使用npm脚本生命周期。

直接来自文档(heroku-build-process)

"scripts": {
    "start": "node index.js",
    "test": "mocha",
    "postinstall": "bower install && grunt build"
}

Heroku采用了“应用程序”来应对所有事情。口头禅,但对于buildpacks。无论你要建造什么,都有适合它的构建包。