Estou começando com NodeJS e Express 4, e estou um pouco confuso. Eu estava lendo o site do Express, mas não consigo ver quando usar um manipulador de rota ou quando usar express.Router
.
Como pude ver, se eu quiser mostrar uma página ou algo quando o usuário acessar, /show
por exemplo, devo usar:
var express = require('express')
var app = express()
app.get("/show", someFunction)
No começo, pensei que isso era antigo (para o Express 3). Está certo ou este também é o caminho para o Express 4?
Se essa é a maneira de fazer isso no Express 4, para que express.Router
serve?
Eu li quase o mesmo exemplo acima, mas usando express.Router
:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
Então, qual é a diferença entre os dois exemplos?
Qual deles devo usar se quiser apenas fazer um site de teste simples?
app.get(..)
sintaxe é apenas um atalho para tornar o trabalho express.router
mais conveniente. Se você está apenas começando, não se preocupe com as especificidades do roteador.
app's
próprios métodos de roteamento, como app.get()
, são suficientes para suas necessidades, use-os. O Router
está ali apenas por conveniência para ajudar a organizar a aplicação em vários módulos. No guia : " A express.Router
classe pode ser usada para criar manipuladores de rota montáveis modulares. Uma Router
instância é um middleware completo e um sistema de roteamento; por esse motivo, é freqüentemente chamado de "
Router
não.listen()
solicita por si só. É útil para separar seu aplicativo em vários módulos - criando umRouter
em cada um queapp
poderequire()
e.use()
como middleware.