簡體   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