[英]NodeJS diffrence between express() and express.Router() in sub routes
我在我的服務器中創建了一個子路由,比如'/users'
,它使用userRoute = express.Router()
但是在mountpath部分的 express 文檔中,它使用另一種方式,例如對子路由使用userRoute = express()
並在此處將其稱為子應用程序:
var app = express(); // the main app
var admin = express(); // the sub app
...
app.use('/admin', admin); // mount the sub app
它們的區別和用法是什么?
感謝jfriend00,當我使用app
而不是router
我可以設置特定的主題引擎或...為我的路線。
您始終需要使用express()
來創建頂級服務器應用程序,但要創建包含隔離的路由塊或其他功能的子應用程序,您可以選擇安裝新的express()
應用程序或express.Router()
路由器。
它們之間的區別在於提供給該塊的特定功能的數量; 路由器更簡單,主要只關注路由,在許多情況下您只想邏輯地組織您的應用程序就足夠了。 如果您查看 Application 和 Router 對象可用的記錄屬性、方法和事件,您會發現 Application 具有 Router 所具有的所有屬性、方法和事件,另外還有一些可以分為四個主要功能區域:
get()
、 set()
、 disable()
、 disabled()
、 enable()
、 enabled()
)engine()
, render()
, locals
)mount
事件)mountpath
, path()
)因此,如果您不需要使用這些中的任何一個,或者在某些情況下需要但不需要將它們與父應用程序隔離,那么您可以使用路由器。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.