Я сам создал структуру. Но это, безусловно, может быть улучшено.
Я попытался сделать мой 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();
}
Это было очень полезно! Я сделал еще один шаг и сделал следующее: '' ' var CloudFunctions = require ('./ source/cloud-functions.js'); _.each (_. Keys (CloudFunctions), function (functionName) { Parse.Cloud.define (functionName, CloudFunctions [functionName]); }); '' ' Таким образом, вам не нужно определять каждый из них. Работает для работы, сохраняет/удаляет и т. Д. –