路由是在呼叫URL時確定應該發生什麼事情的過程,或者也可以確定應用程式的哪些部分應該處理特定的請求。

在Hello World的例子中,我們使用了這段程式碼:

app.get('/', (req, res) => { /* */ })

這創建了一個路由,將使用HTTP GET方法訪問根域名URL /的請求映射到我們想提供的回應。

命名參數

如果我們想要聽取自定義請求,也許我們想要創建一個服務,接受一個字符串,並將其轉換為大寫,而且我們不希望參數作為查詢字串發送,而是作為URL的一部分。我們可以使用命名參數:

app.get('/uppercase/:theValue', (req, res) => res.send(req.params.theValue.toUpperCase()))

如果我們向 /uppercase/test 發送請求,我們會在響應的內容中得到 TEST

你可以在同一個URL中使用多個命名參數,它們都將被存儲在 req.params 中。

使用正則表達式匹配路徑

你可以使用正則表達式來通過一個語句匹配多個路徑:

app.get(/post/, (req, res) => { /* */ })

將匹配 /post/post/first/thepost/posting/something 等等。