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

1.2K
Visualizações
Express error - TypeError: Router.use() requiere una función de middleware pero obtuvo un objeto

Recibo este error cuando ejecuto npm start para ejecutar mi aplicación express.

 TypeError: Router.use() requires middleware function but got a Object

mi código 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 routes = require('./routes/index'); var users = require('./routes/users'); var app = express(); // view engine setup app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'ejs'); // uncomment after placing your favicon in /public //app.use(favicon(__dirname + '/public/favicon.ico')); app.use(logger('dev')); app.use(bodyParser.json()); app.use(bodyParser.urlencoded({ extended: true })); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', routes); app.use('/users', users); /// catch 404 and forwarding to error handler app.use(function(req, res, next) { var err = new Error('Not Found'); err.status = 404; next(err); }); /// error handlers // development error handler // will print stacktrace if (app.get('env') === 'development') { app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: err }); }); } // production error handler // no stacktraces leaked to user app.use(function(err, req, res, next) { res.status(err.status || 500); res.render('error', { message: err.message, error: {} }); }); module.exports = app;

mi código index.js

 var express = require('express'); var router = express.Router(); /* GET home page. */ router.get('/', function(req, res) { res.render('index', { title: 'Express' }); }); /* GET Hello World page. */ router.get('/helloworld', function(req, res) { res.render('helloworld', { title: 'Hello, World!' }) }); module.exports = router;

Soy bastante nuevo en el uso de Node y express. No puedo ver dónde me he equivocado. ¿Alguien puede ver cuál es mi problema?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Encontré la respuesta en los comentarios de Kop4lyf :

verifique sus usuarios.js. También debería exportar el enrutador como index.js, si puede intentarlo.

Sin embargo, esta pregunta fue mi principal resultado de búsqueda cuando me encontré con este problema, por lo que estoy promoviendo una respuesta.


El error se debe a que uno de sus módulos de ruta no se exporta, lo que significa que Express no tiene acceso a él cuando intenta identificar todas sus rutas.

Puede solucionar esto agregando module.exports = router; al final de cada uno de sus archivos de ruta.

Ejemplo:

 var express = require('express'); var router = express.Router(); router.get('/', function(req, res, next) { //Do whatever... }); module.exports = router;

Puede encontrar más información sobre module.exports en esta pregunta o en la documentación oficial de Node.js.

over 4 years ago · Santiago Trujillo Relatório

0

He arreglado esto agregando cuál estoy usando en alguna parte. Por lo tanto, compruebe todas sus exportaciones.

 module.exports = router;
over 4 years ago · Santiago Trujillo Relatório

0

Si usas en rutas

 exports default router

Tu solución puede ser

 module.exports = router
over 4 years ago · Santiago Trujillo 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