/ / Routing em arquivos separados com o Express 4.13 - node.js, express, routing

Roteamento em arquivos separados com express 4.13 - node.js, express, routing

Tenho problemas com o roteamento no express 4.13

Aqui está o meu arquivo index.js:

var express = require("express");
var app = express();
var wagner = require("wagner-core");
var morgan = require("morgan");

app.use(morgan("combined"));

require ("./models")(wagner);

var api = require("./api");

app.use("/api/v1", api);


app.listen(3000, function() {
console.log("Server Started!!!");
});

E este é um arquivo com rotas:

var express = require("express");
// var status = require("http-status");

module.exports = function() {

var api = express.Router();

api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});

}

Depois que eu visito http://localhost:3000/api/v1/category/id/123 página apenas carregando e nada aconteceu ... Alguém sabe o que é problema?

Respostas:

3 para resposta № 1

Mover var api = express.Router(); fora do objeto exportado.

var express = require("express");
var api = express.Router();

api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});

module.exports = api;

Porque você precisa montar um módulo roteador pronto para usar no aplicativo principal.

O objeto exportado precisa ser um manipulador de rota em si.


2 para resposta № 2

O seguinte trabalho?

var api = express.Router();

api.get("/category/id/:id", function(req,res){
console.log("TEST")
res.send("TEST");
});

module.exports = api;

0 para resposta № 3

Encontrei um problema no meu código ... Não devolvi o roteador.

A função interna deve ser:

return api;