Ich habe selbst eine Struktur erstellt. Aber es kann sicherlich verbessert werden.
Ich habe versucht, meine main.js einfach zu machen. Ich habe nur die Namen der Funktionen hinzugefügt, die außerhalb des Cloud-Codes aufgerufen werden.
// 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);
In file1.js schrieb ich Funktionen wie folgt.
// 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
}
Ich exportierte Module wie gezeigt, weil es den Code lesbarer macht. Ich kann nur auf den Anfang des Codes schauen und sehen, welche Funktionen ich aus dieser Datei verwenden kann. Sie können die docs export style verwenden.
exports.addComment = function(request, response) {
// your code
response.success();
}
Das war sehr hilfreich! Ich ging noch einen Schritt weiter und machte folgendes: '' ' var CloudFunctions = require ('./ source/cloud-functions.js'); _.each (_. Schlüssel (CloudFunctions), Funktion (Funktionsname) { Parse.Cloud.define (Funktionsname, CloudFunctions [FunktionsName]); }); '' ' Auf diese Weise müssen Sie nicht jedes definieren. Arbeitet für Jobs, speichert/löscht usw. –