Javascript Heroku应用程序错误:应用程序中发生错误,无法提供您的页面
我正在构建一个应用程序,我已经成功地将其部署到HEROKU。打开app()时,我得到应用程序错误,我用CLI命令检查了日志,结果如下:Javascript Heroku应用程序错误:应用程序中发生错误,无法提供您的页面,javascript,html,heroku,dreamweaver,Javascript,Html,Heroku,Dreamweaver,我正在构建一个应用程序,我已经成功地将其部署到HEROKU。打开app()时,我得到应用程序错误,我用CLI命令检查了日志,结果如下: 2018-10-22T09:06:32.000000+00:00 app[api]: Build started by user aailoje@gmail.com 2018-10-22T09:06:45.572183+00:00 app[api]: Deploy 7bc663ae by user aailoje@gmail.com 2018-10-22T0
2018-10-22T09:06:32.000000+00:00 app[api]: Build started by user aailoje@gmail.com
2018-10-22T09:06:45.572183+00:00 app[api]: Deploy 7bc663ae by user aailoje@gmail.com
2018-10-22T09:06:45.572183+00:00 app[api]: Release v24 created by user aailoje@gmail.com
2018-10-22T09:06:45.826688+00:00 heroku[web.1]: State changed from crashed to starting
2018-10-22T09:06:47.000000+00:00 app[api]: Build succeeded
2018-10-22T09:06:49.116924+00:00 heroku[web.1]: Starting process with command `npm start`
2018-10-22T09:06:53.099327+00:00 app[web.1]:
2018-10-22T09:06:53.099345+00:00 app[web.1]: > odm-mobile@1.0.0 start /app
2018-10-22T09:06:53.099347+00:00 app[web.1]: > node index.js
2018-10-22T09:06:53.099349+00:00 app[web.1]:
2018-10-22T09:06:53.840102+00:00 heroku[web.1]: Process exited with status 0
2018-10-22T09:06:53.856482+00:00 heroku[web.1]: State changed from starting to crashed
2018-10-22T09:06:53.858384+00:00 heroku[web.1]: State changed from crashed to starting
2018-10-22T09:06:57.152906+00:00 heroku[web.1]: Starting process with command `npm start`
2018-10-22T09:07:00.298331+00:00 app[web.1]:
2018-10-22T09:07:00.298348+00:00 app[web.1]: > odm-mobile@1.0.0 start /app
2018-10-22T09:07:00.298350+00:00 app[web.1]: > node index.js
2018-10-22T09:07:00.298351+00:00 app[web.1]:
2018-10-22T09:07:00.979144+00:00 heroku[web.1]: Process exited with status 0
2018-10-22T09:07:00.997278+00:00 heroku[web.1]: State changed from starting to crashed
2018-10-22T09:07:20.183091+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=odm-mobile.herokuapp.com request_id=c9a8b164-2f61-459b-87da-56518ce4dc81 fwd="154.120.97.254" dyno= connect= service= status=503 bytes= protocol=https
2018-10-22T09:07:22.293716+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=odm-mobile.herokuapp.com request_id=6870b281-7607-4882-8bac-e97c38169e26 fwd="154.120.97.254" dyno= connect= service= status=503 bytes= protocol=https
2018-10-22T09:25:14.164205+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/" host=odm-mobile.herokuapp.com request_id=af0d9ab3-8a64-494e-8b2e-4b5e0a46f7fd fwd="154.120.97.254" dyno= connect= service= status=503 bytes= protocol=https
2018-10-22T09:25:15.783603+00:00 heroku[router]: at=error code=H10 desc="App crashed" method=GET path="/favicon.ico" host=odm-mobile.herokuapp.com request_id=dcd6cc6f-0959-4ca7-b4d4-43143e952b8c fwd="154.120.97.254" dyno= connect= service= status=503 bytes= protocol=https`
以下是我在dreamweaver上使用的文件
var port=Number(进程环境端口| | 5000);
var express=require('express'),
力矩=要求(“力矩”);
变量导出=模块。导出=函数(目录,选项){
var模块={};
选项=合并(选项|{}{
懒惰:是的
});
fs.readdirSync(dir.forEach)函数(文件名){
//过滤索引和点文件
如果(文件名!='index.js'&&filename[0]!='.){
var moduleName=path.basename(文件名,path.extname(文件名));
var modulePath=path.join(dir,moduleName);
//惰性负载
if(options.lazy){
Object.defineProperty(模块、模块名、{
get:function(){
返回要求(modulePath);
}
});
}否则{
模块[moduleName]=需要(模块路径);
}
}
});
返回模块;
};代码>Heroku不是FaaS服务,而是PaaS。我看到您导出了一个函数,但它到此结束。确保您正在运行一个长时间运行的应用程序,即守护进程。正如日志中明确指出的,应用程序不等待任何东西,直接退出,返回代码0
,这表明程序已成功完成执行。我不是Node.js开发人员,但看看ExpressJS的Hello World示例很可能会帮助您理解为什么这次没有成功
app.listen(端口,()=>console.log(`Example app listening on port${port}!`))
这一行完成ExpressJS代码段中的工作。它开始侦听传入的连接,因此它将永远阻塞,直到终止并接受连接。您是否能够使用下面所示的答案使其正常工作?如果是,请记住。这会向其他用户显示您已经找到了解决方案。