Código
const path = require('path') const exphbs = require('express-handlebars') const morgan = require('morgan'); const multer = require('multer'); const express = require('express'); const erroHandler = require('errorhandler') const routes = require('../routes/index'); module.exports = app => { app.set('port', process.env.PORT || 80) console.log(__dirname) app.set('views', path.join(__dirname, '../views')); app.engine('.hbs', exphbs({ extName: '.hbs', defaultLayout: 'main', partialsDir: path.join(app.get('views'), 'partials' ), layoutDir: path.join(app.get('views'), 'layouts'), helpers: require('../helpers') })) app.set('view engine', '.hbs'); // middlewares app.use(morgan('dev')); app.use(multer({dest: path.join(__dirname, '../public/upload/temp')}).single('image')) app.use(express.urlencoded({extended: false})); app.use(express.json()); //routes routes(app) // static files app.use('/public', express.static(path.join(__dirname, '../public'))); // errorhandlers if ('development' === app.get('env')) { app.use(erroHandler) } return app; }
y me da este error:
Error: ENOENT: no such file or directory, open 'C:\Users\Diesan Romero\Desktop\redsocial\views\layouts\main.handlebars'
yo pensé que si subía un nivel, podría entonces encontrar la carpeta pero resulta que no:
Error: Failed to lookup view "index" in views directory "C:\Users\Diesan Romero\Desktop\redsocial\src\server\views"
Aquí les dejo una imagen para que se guíen bien, por el directorio y ojalá me puedan ayudar