Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

223
Visualizações
La variable global para OBTENER todas las rutas MÉTODO no funciona en nodejs después de iniciar sesión

Creé una página de blog con un registro e inicio de sesión. Así que usé el req.locals.<name>
Con el método GET.

Código en server.js

 app.get('*',(req,res, next) => { res.locals.user = req.user || null; next(); })

Y usé la variable de user en la barra de navegación de una página de pug como: -

 nav.navbar.navbar-expand-lg.navbar-light.bg-light .container a.navbar-brand.text-center.me-2(href='/') IA INFO button.navbar-toggler(type='button' data-bs-toggle='collapse' data-bs-target='#navbarSupportedContent' aria-controls='navbarSupportedContent' aria-expanded='false' aria-label='Toggle navigation') span.navbar-toggler-icon #navbarSupportedContent.collapse.navbar-collapse.justify-content-end ul.nav.nav-tabs li.nav-item a.nav-link(aria-current='page' href='/') Home li.nav-item a.nav-link(href='/blogs') Blogs if user li.nav-item a.nav-link(href='/blogs/add/new-blog') New Blog li.nav-item a.nav-link(href='/blogs/admin/sign') Sign li.nav-item a.nav-link(href='/logout') Logout

Pero cuando pruebo este método, realmente no funciona....
Después de que alguien inicia sesión, se supone que funciona, pero luego me muestra un error de que el usuario no está definido o simplemente no funciona...

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

En lugar de configurar el usuario como nulo, intente configurar un booleano dentro del objeto del usuario, más como:

 app.get('*',(req,res, next) => { res.locals.user = req.user ? {...req.user,...{isSignedIn : true} : {isSignedIn : false}; //spread operator has shortcomings, please use it with care next(); })

y luego en el archivo pug:

 nav.navbar.navbar-expand-lg.navbar-light.bg-light .container a.navbar-brand.text-center.me-2(href='/') IA INFO button.navbar-toggler(type='button' data-bs-toggle='collapse' data-bs-target='#navbarSupportedContent' aria-controls='navbarSupportedContent' aria-expanded='false' aria-label='Toggle navigation') span.navbar-toggler-icon #navbarSupportedContent.collapse.navbar-collapse.justify-content-end ul.nav.nav-tabs li.nav-item a.nav-link(aria-current='page' href='/') Home li.nav-item a.nav-link(href='/blogs') Blogs if user.isSignedIn //check for the boolean li.nav-item a.nav-link(href='/blogs/add/new-blog') New Blog li.nav-item a.nav-link(href='/blogs/admin/sign') Sign li.nav-item a.nav-link(href='/logout') Logout

Lea más sobre los operadores de propagación aquí

about 4 years ago · Juan Pablo Isaza Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda