Passer au contenu principal
Toutes les collectionsFonctionnalités et API
Comment utiliser la fonctionnalité de partage de script
Comment utiliser la fonctionnalité de partage de script

partager le script, moteur Rhino

Jason Liang avatar
Écrit par Jason Liang
Mis à jour il y a plus de 2 semaines

brainCloud prend désormais en charge le partage de script, ce qui signifie que vous pouvez inclure un autre script dans un script différent en utilisant simplement la nouvelle opération bridge.include(“scriptname.ccjs”).

Les règles suivantes s'appliquent:

  • Un script peut importer plusieurs scripts (bien sûr !)

  • Les scripts doivent tous être présents dans l'application… (c'est-à-dire qu'il ne faut pas inclure de scripts provenant d'autres applications)

  • Les appels bridge.include() doivent être placés en premier dans un script. Seules les lignes vides, //les commentaires et/ou la directive ”use strict”; peuvent précéder bridge.include().

  • L'extension est ignorée par l'appel – mais nous vous recommandons d'ajouter .ccjs quand même ← cela peut être utile à l'avenir (nous avons des projets!)

  • Les inclusions sont traitées lorsque le script est chargé pour la première fois sur le serveur (et mis en cache, les algorithmes brainCloud vérifieront qu'un script n'est pas inclus plusieurs fois) - donc les opérations d'inclusion ne se produisent pas au moment de l'exécution à chaque exécution - c'est donc plus rapide

  • Mais cela signifie qu'ils utilisent plus de mémoire - essayez donc de garder les choses petites si possible - c'est mieux pour tout le monde (et moins de risques que nous devions décharger le script pour économiser de la mémoire)

Par exemple: vous avez un script comme ci-dessous appelé MathFunctions:

function sumNums( num1, num2 ) {
return (num1 + num2);
}

function prodNums( num1, num2 ) {
return (num1 * num2 );
}

Vous pouvez l'inclure dans un autre script de code cloud comme ci-dessous:

"use strict"; 
bridge.include("MathFunctions.ccjs");
function main() {
var response = {};
response.answersum = sumNums(data.number1, data.number2);
response.answerprod = prodNums(data.number1, data.number2);
return response;
}
main();

Vous le savez peut-être déjà, brainCloud utilise le moteur JavaScript Rhino comme éditeur de scripts cloud. La version actuelle de Rhino ne prend pas encore en charge la syntaxe "class" d'ES6, mais permet d'importer certaines classes de librairies système Java en appelant importClass() "operation", une méthode totalement différente de bridge.include() "operation".

---

Un exemple d'utilisation d'une opération importClass() dans un script de code cloud:

importClass(java.util.ArrayList);  
var list = new ArrayList();
list.add("one");
list.add("two");

---

---

Un exemple d’utilisation de la fermeture de fonction pour trier les propriétés et les méthodes:

Script Car.ccjs:

var Car = (function () { 
function Car(){
}
Car.Init = function (brand, speed){
Car.Name = brand;
Car.Speed = speed;
}
Car.Distance = function(time){
return Car.Speed*time;
}
return Car;
})();

Ensuite, incluez la fonction ci-dessus dans un autre script de code cloud comme ci-dessous:

"use strict"; 
bridge.include("Car.ccjs");
function main() {
var response = {};
Car.Init("Hyndai",100);
response.distance = Car.Distance(3);
return response;
}
main();

---

Avez-vous trouvé la réponse à votre question ?