![](/img/trans.png)
[英]How to import routes in polka js similar to express.Route()
[英]How express.route determined route
我開始學習Node.js(帶有Express.js)和React.js。 所以我對快速路由器有些疑問
讓我們看看我的部分代碼
server.js
const app = express();
const apiRouter = require("./Routes/apiRoute");
app.use("/api", apiRouter);
app.listen(3000, () => {
console.log("application run on port " + 3000);
});
/Routes/apiRoute.js
const express = require("express");
const router = express.Router();
router.route("/user/:id")
.post((req,res)=>{
// Do something
})
router.route("/user/status")
.post((req,res) => {
// do something
});
所以。 我的問題是快遞路線如何確定要使用的方法。
從我的示例代碼中,如果我發送POST請求,例如http://localhost:3000/api/user/status
快遞路由器會看到狀態是:id
對嗎?
另一方面,如果我將/user/status
路由上移,它將按我的預期進行,對嗎?
謝謝。
Express按時間順序匹配路線。
Express開始將URL與腳本中已聲明的第一個路由進行匹配,如果不匹配,則移至下一個。 這是因為Express是Javascript框架。 傳遞給路由的函數,即(req, res) => {...}
實際上是一個js回調函數,如果用戶點擊與聲明的相應字符串匹配的路由,則將調用該回調函數。 在Javascript中,首先為事件設置的回調被稱為第一個,因為這些回調都保存在隊列中。 眾所周知,隊列是FIFO。
如果要同時使用"/user/:id"
和"/user/status"
,則必須先在代碼中聲明后一個,然后再聲明第一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.