解析云代码结构

时间:2015-01-24 19:57:57

标签: architecture parse-platform cloud cloud-code

我使用Parse Cloud Code作为社交移动应用程序。我想让云代码可扩展,但Parse有一些我必须遵守的规则。结构如下:

cloud/
    main.js
    other.js
    otherfile/
        someother.js
        ...
    ...

只有main.js是必需品,移动客户端只能调用main.js中的函数。

在我的客户中,我使用MVC作为架构,但我不确定在云代码中应该使用哪种架构。我的云代码架构应该如何?

我可以使用一般的后端架构吗?

3 个答案:

答案 0 :(得分:12)

我自己制作了一个结构。但它肯定可以改进。

我试着让我的main.js变得简单。我只添加了将在云代码之外调用的函数名称。

// Include all of the modules
var module1 = require('cloud/folder1/file1.js');
var module2 = require('cloud/folder1/file2.js');
var module3 = require('cloud/folder2/file1.js'); 
var backgroundjob = require('cloud/backgroundjob/background.js'); 

Parse.Cloud.job("startBackgroundJob", backgroundjob.startBackgroundJob);
Parse.Cloud.define("do_this_stuff", module1.thisfunction);
Parse.Cloud.define("do_this_stuff2", module1.notthisfunction);
Parse.Cloud.define("do_that_stuff", module2.thatfunction);
Parse.Cloud.define("do_dat_stuff", module3.datfunction);

在file1.js中我编写了如下函数。

// Include libraries
var utils = require("cloud/utils/utils.js");
var _ = require('underscore');

// Export Modules
module.exports = {
  thisfunction: function (request, response) {
    addComment(request, response);
  },
  thatfunction: function (request, response) {
    getComment(request, response);
  },
};

function addComment(request, response) {
    // write your code here
    var stuff = utils.callThisFunction(param); // This is the usage of another function in another file
    response.success("Comment added"); // or error but do not forget this
} 

function getComment(request, response) {
    // write your code here
    response.success("Got Comment"); // or error but do not forget this
}

我导出的模块如图所示,因为它使代码更具可读性。我可以查看代码的顶部,看看我可以从这个文件中使用哪些函数。您可以使用docs export style

exports.addComment = function(request, response) {
    // your code
    response.success();
}

答案 1 :(得分:0)

在云代码中,main.js按原样存在。所有云代码功能都存在于该单个文件中。没有调制或额外的架构。

Parse.Cloud.run(名称,数据,选项)是调用Parse Cloud函数的唯一方法。

[R

答案 2 :(得分:0)

您可以通过在main.js旁边创建一个新模块,将您的代码拆分为模块,比如services.js

并在main.js

中要求它
require("cloud/services.js");

最后,该文件中定义的所有云功能都可以在main.js中使用。这是因为当你require时,Parse运行该文件中的所有内容,这实质上意味着你只需将所有代码分解到一个单独的文件中。