nodejs expressとmongodbでWebページを開発しようとしています。私はthis GitHub pageのコードを辿って分析しており、ウェブページを開こうとしているときにエラーが発生しています。nodejs expressでWebページを開こうとしたときにエラーが発生しました。
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
のすべてのステートメントのコメントを外して実行してWebページを開くと、次の出力が得られます。
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)
親切に私を助けてください。
viewsフォルダを確認してください。そこにerror.hbsファイルがありますか? – sailesh
@sailesh error.hbsファイルは、ビューディレクトリの下のレイアウトディレクトリにあります。 –
ビューディレクトリ内にあるはずです。 – sailesh