使用Parse-Server划分云代码的正确方法

时间:2017-01-24 16:14:08

标签: node.js structure parse-server

目前我呃...... sorta构建了一个非常的大型main.js文件,其中包含我的云代码的所有,用于Parse-Server。它包含了大约200个单独的Parse.Cloud.job("jobName", function(request, status){})Parse.Cloud.define("functionName", function(request, response){})个调用,并完成了它们的实现。

我想在将来更正确地重构/构建我的代码,但我不确定这样做的最佳实践。

我的main.js应该是这样的东西:

Parse.Cloud.define("function1", require('../function1.js'));
Parse.Cloud.define("function2", require('../function2.js'));
Parse.Cloud.job("job1", require('../job1.js'));

我在main.js中为每个函数/作业调用Parse.Cloud.define / job,并且需要在行中,单个文件是单独的函数吗?

或者有没有办法main.js可以要求我的各种js文件包含几个相关的函数,并从这些文件中调用Parse.Cloud.define / job?

将这两者结合起来会更好吗?

const module1 = require('../module1.js');
const module2 = require('../module2.js');

Parse.Cloud.define("function1", module1.function1(request, response));
Parse.Cloud.define("function2", module2.function2(request, response));
Parse.Cloud.job("job1", module1.job1(request, status));
Parse.Cloud.job("job2", module2.job2(request, status));

我非常有兴趣指出一些关于如何最好地构建这些材料的材料。我发现了一些关于node.js应用程序的一些材料,但是关注Parse-Server特定方面,以及Parse.Cloud.define是否可以在除main.js之外的任何地方调用。在我的搜索中,我无法找到该问题的任何答案。如果您有任何使用Parse-Server的公共项目示例,您认为这些项目的结构非常好,我也很乐意看看这些项目。

感谢您的任何建议!

1 个答案:

答案 0 :(得分:1)

我遇到了和你一样的情况,我决定将我的云代码划分为模块。我为每个班级建了一个模块。因此,假设您的项目中包含以下类:

  1. 用户
  2. 联系
  3. 通信
  4. ...
  5. 然后除了main.js文件外,还需要创建user.js,contact.js,communication.js 在main.js文件中,您需要这些模块。如果您需要它们,请注意您使用正确的路径我建议您使用nodejs path模块。

    在你的main.js中你也可以添加一些常用的逻辑,当然还有需要上面其他模块的代码。

    在模块内部,您可以创建云代码事件(afterSave,beforeSave等)以及自定义云代码功能。从那里你可以自由使用你想要的任何方法或设计模式(util,类,函数,闭包等)。

    此外,我建议您使用承诺以获得干净的代码。

    希望它有所帮助。