/ / Błąd podczas rozdzielania pliku routera w express js 4 - javascript, node.js, express

Błąd podczas oddzielania pliku routera w js ekspresowym 4 - javascript, node.js, express

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 № 1

Podsumowują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

  1. miałem literówkę. w linii module.exports gdzie położyłem module.export (jonas)

  2. Kolejnym błędem jest to, że muszę to zrobić next(); w router.use() funkcja oprogramowania pośredniego. ponieważ nie umieściłem next(); nie wie, co wykonać po funkcji oprogramowania pośredniego. Mam na myśli, że nie wie o moich trasach. (javiercf)