Я начинаю с 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()качестве промежуточного слоя.