2017-03-09 32 views
0

其實,在我進入的問題,當我喜歡驗證我的理解上表達路線

const app = express()

app什麼是整個快遞模塊權的實例?意思是,當我做app.route,路由它是Express方法的權利還是NodeJS的方法,因爲Node也有.route?反正......我只是想仔細檢查一下。

app.route('/games') 
    .post(postGame) 
    .get(getGames); 

app.route('/games/:id'); 
    .get(getGame) 
    .delete(deleteGame); 

這與......相同,如果不是......爲什麼會選擇另一個呢?

app.get('/games'); 
app.post('/games'); 
app.get('/games/:id'); 
app.delete('games/:id'); 

對不起,這只是一段時間,因爲我用快遞,也不可能找到這個具體問題什麼。謝謝!

回答

1

app是整個express模塊​​的一個實例嗎?

是的,應用程序對象是通過調用Express模塊​​導出的頂層express()函數創建的。這設置默認HTTP標頭,渲染選項....,敷HTTP節點模塊:

app.listen = function listen() { 
    var server = http.createServer(this); 
    return server.listen.apply(server, arguments); 
}; 

你可以看到更多的source code here(真readble)

路線是它的一個快速方法right或NodeJS方法

路由是一個明確的對象,nodeJs不提供類似express的路由系統。

對於你的例子是的,它是完全一樣的。他們存儲處理程序的功能在同一this._router.route

+1

謝謝,我想我應該開始投入時間閱讀源代碼。我覺得我需要建立一個NPM模塊,所以我可以理解更好地閱讀它:) – dsomel21

+0

@ dsomel21你可以有效的答案關閉問題請:) – NotBad4U