Tôi đang bắt đầu với NodeJS và Express 4, và tôi hơi bối rối. Tôi đã đọc trang web Express, nhưng không thể biết khi nào nên sử dụng trình xử lý tuyến đường hoặc khi nào nên sử dụng express.Router
.
Như tôi có thể thấy, nếu tôi muốn hiển thị một trang hoặc thứ gì đó khi người dùng truy cập, /show
ví dụ tôi nên sử dụng:
var express = require('express')
var app = express()
app.get("/show", someFunction)
Lúc đầu, tôi nghĩ cái này đã cũ (đối với Express 3). Điều đó đúng hay đây cũng là cách dành cho Express 4?
Nếu đây là cách để làm điều đó trong Express 4, thì express.Router
dùng để làm gì?
Tôi đọc gần như ví dụ như trên nhưng sử dụng express.Router
:
var express = require('express');
var router = express.Router();
router.get("/show", someFunction)
Vì vậy, sự khác biệt giữa cả hai ví dụ là gì?
Tôi nên sử dụng cái nào nếu tôi chỉ muốn làm một trang web thử nghiệm đơn giản?
app.get(..)
cú pháp chỉ là một phím tắt để làm việc với express.router
thuận tiện hơn. Nếu bạn chỉ mới bắt đầu, đừng lo lắng về các chi tiết cụ thể của bộ định tuyến.
app's
phương pháp định tuyến riêng, như app.get()
, là đủ cho nhu cầu của bạn, hãy sử dụng chúng. Đây Router
là tiện lợi để giúp bạn tổ chức ứng dụng trên nhiều mô-đun. Từ hướng dẫn : " Các express.Router
lớp có thể được sử dụng để tạo ra bộ xử lý đường mountable mô-đun A. Router
Ví dụ là một trung đầy đủ và hệ thống định tuyến, vì lý do này nó thường được gọi là 'mini-ứng dụng'. "
Router
không.listen()
cho các yêu cầu của riêng mình. Nó rất hữu ích để phân tách ứng dụng của bạn thành nhiều mô-đun - tạo mộtRouter
trong mỗi mô-đunapp
có thểrequire()
và.use()
như là phần mềm trung gian.