【问题标题】:Internal Server Error Node js内部服务器错误节点js
【发布时间】:2017-12-06 22:49:48
【问题描述】:

我目前正在设置 Heroku 部署。在本地运行时一切正常,但我从 Heroku 收到以下错误。

at=info method=GET path="/" host=pure-cliffs-68507.herokuapp.com 
request_id=66cd6aa8-209d-4065-88ce-ad201ce6e713 fwd="210.86.90.97" 
dyno=web.1 connect=0ms service=24ms status=500 bytes=524 protocol=https
2017-07-03T15:05:22.180020+00:00 app[web.1]: GET / 500 19ms - 148b
2017-07-03T15:05:22.181519+00:00 app[web.1]: Error: Failed to lookup view " index.html" in views directory "/app"
2017-07-03T15:05:22.181520+00:00 app[web.1]:     at EventEmitter.render (/app/node_modules/express/lib/application.js:580:17)
2017-07-03T15:05:22.181521+00:00 app[web.1]:     at ServerResponse.render  (/app/node_modules/express/lib/response.js:971:7)
2017-07-03T15:05:22.181521+00:00 app[web.1]:     at /app/routes.js:8:7
2017-07-03T15:05:22.181522+00:00 app[web.1]:     at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
2017-07-03T15:05:22.181522+00:00 app[web.1]:     at next (/app/node_modules/express/lib/router/route.js:137:13)
2017-07-03T15:05:22.181523+00:00 app[web.1]:     at Route.dispatch (/app/node_modules/express/lib/router/route.js:112:3)
2017-07-03T15:05:22.181523+00:00 app[web.1]:     at Layer.handle [as handle_request] (/app/node_modules/express/lib/router/layer.js:95:5)
2017-07-03T15:05:22.181524+00:00 app[web.1]:     at /app/node_modules/express/lib/router/index.js:281:22
2017-07-03T15:05:22.181525+00:00 app[web.1]:     at Function.process_params (/app/node_modules/express/lib/router/index.js:335:12)
2017-07-03T15:05:22.181525+00:00 app[web.1]:     at next (/app/node_modules/express/lib/router/index.js:275:10)

我相信这与文件路径有关。我目前在基本目录(即项目/)中拥有所有内容,因此正在使用以下内容。

app.use(express.static(path.join(__dirname, '/')));
app.set('views', __dirname);

这是我的一些获取请求

app.get('/', function(req, res) {
    res.render('index.html'); 
});

app.get('/browsePage', function(req, res) {
    res.render('browsePage.html'); 

});

提前感谢您的帮助。

【问题讨论】:

    标签: javascript node.js express heroku


    【解决方案1】:

    您无法在node.js 中呈现html 页面。您可以尝试发送html 文件:

    app.get('/', function(req, res) {
       res.sendFile('index.html'); 
    });
    
    app.get('/browsePage', function(req, res) {
       res.sendFile('browsePage.html'); 
    });
    

    【讨论】:

      【解决方案2】:

      在视图目录“/app”中查找视图“index.html”失败

      如果您的代码在本地工作,您可以再次检查您的路径吗? 它应该是:

      app.use(express.static(__dirname + '../public'));
      

      顺便说一句,你应该使用任何模板来渲染视图(玉,..)https://pugjs.org/api/getting-started.html

      【讨论】:

        猜你喜欢
        • 2023-03-10
        • 1970-01-01
        • 1970-01-01
        • 2019-03-05
        • 1970-01-01
        • 2016-06-12
        • 2017-03-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多