Я начинаю с NodeJS и Express 4, и я немного запутался. Я читал сайт Express, но не вижу, когда использовать обработчик маршрута или когда использовать express.Router
.
Как я мог видеть, если я хочу показать страницу или что-то, когда пользователь нажимает, /show
например, я должен использовать:
var express = require('express')
var app = express()
app.get("/show", someFunction)
Вначале я думал, что это старый (для Express 3). Правильно ли это или это способ Express 4 тоже?
Если это способ сделать это в Express 4, для чего express.Router
используется?
Я прочитал почти тот же пример, что и выше, но с использованием express.Router
:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
Итак, в чем разница между обоими примерами?
Какой из них мне следует использовать, если я просто хочу сделать простое тестирование сайта?
app.get(..)
синтаксис - это просто ярлык, чтобы сделать работу с ним express.router
более удобной. Если вы только начинаете, не беспокойтесь о специфике роутера.
app's
собственные методы маршрутизации, например app.get()
, достаточны для ваших нужд, используйте их. Это Router
просто для удобства, чтобы помочь вам организовать приложение по нескольким модулям. Из руководства : « Этот express.Router
класс можно использовать для создания модульных монтируемых обработчиков маршрутов. Router
Экземпляр представляет собой законченное промежуточное ПО и систему маршрутизации; по этой причине его часто называют« мини-приложением ». »
Router
не.listen()
для запросов самостоятельно. Это полезно для разделения приложения на несколько модулей - создаваяRouter
в каждом , чтоapp
можетrequire()
и в.use()
качестве промежуточного слоя.