Estoy tratando de desarrollar una página web con nodejs express y mongodb. Seguí y analicé el código de esta página de GitHub y recibo un error al intentar abrir la página web.
Al descomentar la siguiente parte del código en app.js y comentar la parte restante del código en el archivo app.js (parte del código sin comentar):
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');Se obtiene la siguiente salida:
Cannot GET / Al descomentar todas las declaraciones en el app.js y ejecutar para abrir la página web, se obtiene el siguiente resultado:
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)Amablemente ayúdame a salir de esto.
app.set('views', path.join(__dirname, 'views'));Ha especificado el directorio de vistas para las vistas de su aplicación. res.render busca los archivos en el directorio de vistas, no en los subdirectorios de vistas. Copie su error.hbs de vistas/diseños a vistas/e intente.