Jestem nowy w Węzeł i Wyrazić, lubię oddziel funkcję trasy w osobnych plikach, ale cały czas pojawia się błąd.
mój app.js plik -
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");
Mój Routes / 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;
Kiedy go uruchamiam, mówi błąd taki jak
app.use() requires middleware functions
Jeśli włożę
`app.use("/",index);`
zamiast
app.use(index);
wtedy mam taki błąd
Router.use() requires middleware function but got a Object
Odpowiedzi:
1 dla odpowiedzi № 1Podsumowując (i poprawną odpowiedź) wystąpiły dwa problemy:
Literówka:
module.export = router;
powinno być module.exports = router;
.
Oprogramowanie pośredniczące:
Oprogramowanie pośrednie powinno zadzwonić next()
aby przekazać żądanie do następnej funkcji. Aby uzyskać więcej informacji, spójrz na dokumentacja.
1 dla odpowiedzi nr 2
Problem jest wymieniony w komentarzach:
module.exports = router;
zamiast:
module.export = router;
0 dla odpowiedzi № 3
Popełniłem dwa błędy w pytaniu
miałem literówkę. w linii
module.exports
gdzie położyłemmodule.export
(jonas)Kolejnym błędem jest to, że muszę to zrobić
next();
wrouter.use()
funkcja oprogramowania pośredniego. ponieważ nie umieściłemnext();
nie wie, co wykonać po funkcji oprogramowania pośredniego. Mam na myśli, że nie wie o moich trasach. (javiercf)