2015-12-21 44 views
1

我正在研究MEAN堆棧這一天,所以我做了一些示例應用程序遵循指導。我幾小時前製作了「Bookshelf」應用程序,這是由谷歌雲服務提供的,所以我應該深入研究示例代碼以瞭解其工作原理。平均堆棧:想知道api.js和crud.js

所有源碼:https://github.com/GoogleCloudPlatform/nodejs-getting-started/tree/master/2-structured-data

示例應用:http://mymongo-1165.appspot.com/books

書籍/ api.js

router.get('/', function list(req, res) { 
    model.list(10, req.query.pageToken, 
     function(err, entities, cursor) { 
     if (err) { return handleRpcError(err, res); } 
     res.json({ 
      items: entities, 
      nextPageToken: cursor 
     }); 
     }); 
    }); 

書籍/ curd.js

router.get('/', function list(req, res) { 
    model.list(10, req.query.pageToken, 
     function(err, entities, cursor) { 
     if (err) { return handleRpcError(err, res); } 
     res.render('books/list.jade', { 
      books: entities, 
      nextPageToken: cursor 
     }); 
     } 
    ); 
    }); 

這兩個代碼是相似的,但我不知道爲什麼這些類似的代碼出現。我認爲crud.js夠了,但爲什麼api.js出現了。你能否解釋這兩個代碼是如何工作的?

+0

api返回結果爲JSON,curd返回一個渲染頁面。 – Gary

回答

1

在該示例應用中,有兩個接口:

  1. 圖形用戶界面(GUI) - curd.js句柄在瀏覽器中呈現的後面(在我們的情況下,玉生成HTML語言誘人的是參與)
  2. 應用程序編程接口(API) - api.js提供程序與應用程序交互的方式,無需瀏覽器(例如:在數據庫中創建新的記錄,或通過向特定航線特定呼叫查詢一些數據)

爲了更深入的瞭解,我建議更多地瞭解express.js,這將提供更好的想法是什麼那些輸出。

P.S.歡迎來到MEAN世界:)