Soy nuevo en Nodo y Exprimir, me gusta separar la función de ruta en un archivo separado, pero me da error todo el tiempo.
mi app.js expediente -
var express = require("express");
var index = require("./Routes/index");
var app = express();
app.use(index);
app.listen(2000);
console.log("Server working at port 2000");
Mi Rutas / index.js
var express = require("express");
var router = express.Router();
router.use(function(req,res,next){
console.log("url "+req.url);
});
router.get("/",function(req,res){
res.send("Hi is it working?");
});
module.export = router;
Cuando lo ejecuto, dice error como
app.use() requires middleware functions
Si pongo
`app.use("/",index);`
en lugar de
app.use(index);
entonces tengo un error como este
Router.use() requires middleware function but got a Object
Respuestas
1 para la respuesta № 1Entonces, como resumen (y una respuesta correcta) tuvo dos problemas:
Error de tipografía:
module.export = router;
debiera ser module.exports = router;
.
Middleware:
Su middleware debe llamar next()
Pasar la solicitud a la siguiente función. Para más detalles echar un vistazo a la documentación.
1 para la respuesta № 2
El tema es como se menciona en los comentarios:
module.exports = router;
en lugar de:
module.export = router;
0 para la respuesta № 3
Hice dos errores en la pregunta.
Tuve un error tipográfico. En la linea
module.exports
donde pongomodule.export
(jonas)el siguiente error es que necesito poner
next();
enrouter.use()
función de middleware. porque yo no pusenext();
no sabe qué ejecutar después de la función de middleware. Quiero decir que no sabe acerca de mis rutas. (javiercf)