繁体   English   中英

尝试使用nodejs express打开网页时出错

[英]Error in trying to open web page with nodejs express

我正在尝试使用nodejs express和mongodb开发一个网页。 我已经关注并分析了这个GitHub页面中的代码,我在尝试打开网页时遇到错误。

取消注释app.js的以下代码部分并在app.js文件中注释代码的其余部分(未注释的代码部分):

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var hbs = require('express-handlebars');

var routes = require('./routes/index');

var app = express();

// view engine setup
app.engine('hbs', hbs({extname: 'hbs', defaultLayout: 'layout', layoutsDir: __dirname + '/views/layouts/'}));
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hbs');

获得以下输出:

Cannot GET /

取消注释app.js中的所有语句并执行以打开网页时,将获得以下输出:

Error: Failed to lookup view "error" in views directory "C:\Users\web\first-1\views"
    at EventEmitter.render (C:\Users\web\first-1\node_modules\express\lib\application.js:580:17)
    at ServerResponse.render (C:\Users\web\first-1\node_modules\express\lib\response.js:966:7)
    at C:\Users\web\first-1\app.js:53:7
    at Layer.handle_error (C:\Users\web\first-1\node_modules\express\lib\router\layer.js:71:5)
    at trim_prefix (C:\Users\web\first-1\node_modules\express\lib\router\index.js:315:13)
    at C:\Users\web\first-1\node_modules\express\lib\router\index.js:284:7
    at Function.process_params (C:\Users\web\first-1\node_modules\express\lib\router\index.js:335:12)
    at IncomingMessage.next (C:\Users\web\first-1\node_modules\express\lib\router\index.js:275:10)
    at done (C:\Users\web\first-1\node_modules\express\lib\response.js:961:25)
    at EventEmitter.render (C:\Users\web\first-1\node_modules\express\lib\application.js:582:14)

请帮助我解决这个问题。

app.set('views', path.join(__dirname, 'views'));

您已为应用视图指定了views目录。 res.render在views目录中查找文件,而不是在视图的子目录中查找。 将您的error.hbs从views / layouts复制到views /并尝试。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM