elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recopilación Tutoriales y Manuales Hacking, Seguridad, Privacidad, Hardware, etc


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  Error en handlebars, nodejs, express, y los niveles de directorios
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Error en handlebars, nodejs, express, y los niveles de directorios  (Leído 2,993 veces)
Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Error en handlebars, nodejs, express, y los niveles de directorios
« en: 27 Enero 2019, 16:40 pm »

Bien, llevo días pasándola muy mal. Estoy creando una web con ExpressJS para NodeJS y pues me presento el siguiente problema:

Código
  1. const path = require('path')
  2. const exphbs = require('express-handlebars')
  3.  
  4. const morgan = require('morgan');
  5. const multer = require('multer');
  6. const express = require('express');
  7. const erroHandler = require('errorhandler')
  8. const routes = require('../routes/index');
  9.  
  10. module.exports = app => {
  11.  
  12.    app.set('port', process.env.PORT || 80)
  13.    console.log(__dirname)
  14.    app.set('views', path.join(__dirname, '../views'));
  15.    app.engine('.hbs', exphbs({
  16.    extName: '.hbs',
  17.    defaultLayout: 'main',
  18.    partialsDir: path.join(app.get('views'), 'partials' ),
  19.    layoutDir: path.join(app.get('views'), 'layouts'),
  20.    helpers: require('../helpers')
  21. }))
  22.    app.set('view engine', '.hbs');
  23.  
  24.  
  25.    // middlewares
  26.    app.use(morgan('dev'));
  27.    app.use(multer({dest: path.join(__dirname, '../public/upload/temp')}).single('image'))
  28.    app.use(express.urlencoded({extended: false}));
  29.    app.use(express.json());
  30.  
  31.    //routes
  32.    routes(app)
  33.  
  34.    // static files
  35.    app.use('/public', express.static(path.join(__dirname, '../public')));
  36.  
  37.  
  38.    // errorhandlers
  39.    if ('development' === app.get('env')) {
  40.        app.use(erroHandler)
  41.    }
  42.  
  43.    return app;
  44. }

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



En línea

EdePC
Moderador Global
***
Desconectado Desconectado

Mensajes: 2.176



Ver Perfil
Re: Error en handlebars, nodejs, express, y los niveles de directorios
« Respuesta #1 en: 27 Enero 2019, 17:33 pm »

Si:

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

devuelve:

C:\Users\Diesan Romero\Desktop\redsocial\src\server\views

Entonces:

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

debería devolver:

C:\Users\Diesan Romero\Desktop\redsocial\src\views

- Pero depende de lo que devuelva __dirname, por cierto que devuelve?


En línea

Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Error en handlebars, nodejs, express, y los niveles de directorios
« Respuesta #2 en: 27 Enero 2019, 18:28 pm »

Si:

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

devuelve:

C:\Users\Diesan Romero\Desktop\redsocial\src\server\views

Entonces:

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

debería devolver:

C:\Users\Diesan Romero\Desktop\redsocial\src\views

- Pero depende de lo que devuelva __dirname, por cierto que devuelve?

devuelve C:\Users\Diesan Romero\Desktop\redsocial\src\server

cuando subo un nivel de directorio me da este error
Error: ENOENT: no such file or directory, open 'C:\Users\Diesan Romero\Desktop\redsocial\views\layouts\main.handlebars'

lógicamente hay algo que no está bien
« Última modificación: 27 Enero 2019, 18:37 pm por magodiesan » En línea

EFEX


Desconectado Desconectado

Mensajes: 1.171


"Dinero Facil"


Ver Perfil WWW
Re: Error en handlebars, nodejs, express, y los niveles de directorios
« Respuesta #3 en: 29 Enero 2019, 01:37 am »

Yo no veo un archivo llamado main.handlebars dentro de la carpeta layouts. El error es de que no se encontro el archivo.
En línea

Ali Baba


Desconectado Desconectado

Mensajes: 310


Ver Perfil WWW
Re: Error en handlebars, nodejs, express, y los niveles de directorios
« Respuesta #4 en: 29 Enero 2019, 03:20 am »

Yo no veo un archivo llamado main.handlebars dentro de la carpeta layouts. El error es de que no se encontro el archivo.

no, fíjate bien en la ruta completa
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Error con el Nero Vision Express 3
Multimedia
gande876 2 1,843 Último mensaje 31 Julio 2005, 21:43 pm
por Cobac
Error en windows vista accediendo a Directorios
.NET (C#, VB.NET, ASP)
odeONeSs 0 2,206 Último mensaje 21 Noviembre 2008, 10:46 am
por odeONeSs
sql server 2005 express error 40 y 2
Bases de Datos
mamau 0 2,307 Último mensaje 1 Abril 2017, 05:46 am
por mamau
Error de mongoose en nodejs
Bases de Datos
Ali Baba 2 3,198 Último mensaje 22 Noviembre 2017, 19:05 pm
por Ali Baba
nodejs | obtener lista de archivos y directorios
Desarrollo Web
patilanz 1 4,641 Último mensaje 9 Diciembre 2017, 21:22 pm
por patilanz
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines