MEAN堆栈:想知道api.js和crud.js

时间:2015-12-21 13:50:25

标签: node.js mean-stack express.io

我正在研究MEAN堆栈,所以我按照指导制作了一些示例应用程序。我在几个小时前编写了“Bookshelf”应用程序,这是由谷歌云服务提供的,所以我应该深入研究示例代码以了解它是如何工作的。

整个源代码:https://github.com/GoogleCloudPlatform/nodejs-getting-started/tree/master/2-structured-data

示例应用程序:http://mymongo-1165.appspot.com/books

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会出现。你能解释这两个代码是如何工作的吗?

1 个答案:

答案 0 :(得分:1)

在此示例应用程序中,有两个界面:

  1. 图形用户界面(GUI) - curd.js处理生成稍后在浏览器中呈现的HTML(在我们的案例中涉及到jade诱人语言)
  2. 应用程序编程接口(API) - api.js提供了以编程方式与应用程序交互的方式,无需浏览器(例如:在数据库中创建新记录,或通过特定调用特定方式查询某些数据)路线)
  3. 为了更深入地理解,我建议您更多地了解express.js,这样可以更好地了解这些输出是什么。

    P.S。欢迎来到MEAN世界:)