我使用基础网站创建了一个网站。它使用Foundation CLI进行标准安装。
我使用foundation watch
在本地运行该网站。当我将其推送到Heroku时,构建在Heroku控制台中成功,但是当我在浏览器中访问该站点时,我只会收到应用程序错误。
Heroku支持说我应该在我的启动脚本中使用$PORT
,但我不知道在哪里配置它。这也很奇怪,因为这是第一次安装。
有没有人有类似的问题?
答案 0 :(得分:0)
以下是我在您的应用中找到的一些问题。
首先,heroku不会安装任何devDependencies,因此请确保构建所需的所有依赖项都在依赖项列表中。
Heroku搜索Procfile,用于启动应用程序。如果它没有找到,它将采用标准程序。
在你的情况下
它运行npm start。其中调用gulp来运行构建,服务器和监视(这是不必要的)。
第二个heroku动态分配PORT编号。但是您的服务器任务会从config.yml绑定静态端口号8000。因此,您的应用可能会失败。
您不需要在heroku中使用基础观察,因为不需要文件的监视模式
您需要运行服务器并为您的文件提供服务
我建议在使用gulp构建应用程序后使用expressJS服务器(因为我已经使用过它)
在您的启动脚本(package.json)中,您可以编写类似
的内容"scripts": {
"start": "gulp && node server.js",
"build": "gulp build --production"
}
其中server.js是expressjs服务器文件。 here's一个如何编写它的例子。
希望你的问题现在可以减少问题。
不要说你的github回购,但这里有一些对你和你的客户/用户或任何人都有帮助的要点。