Я починаю з NodeJS та Express 4, і я трохи розгублений. Я читав веб-сайт Express, але не бачу, коли використовувати обробник маршруту або коли його використовувати express.Router.
Як я бачив, якщо я хочу показати, наприклад, сторінку чи щось, коли користувач потрапляє, /showнаприклад, я повинен використовувати:
var express = require('express')
var app = express()
app.get("/show", someFunction)
На початку я вважав, що це старе (для Експресу 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.RouterRouter
Routerне.listen()для запитів самостійно. Це корисно для розділення вашої програми на кілька модулів - створенняRouterв кожному, щоappможе,require()і.use()як проміжне програмне забезпечення.