J'ai des problèmes avec oCanvas - il ne supporte pas AMD out of box alors dans RequireJS, je définis un shim: configuration.js
require(
function () {
requirejs.config({
shim: {
"lib/ocanvas": {
exports: ["oCanvas"]
}
}
});
}
);
La façon dont je charge la configuration liée à shim (je pense que c’est suffisant pour l’ajouter à require
au fichier de point d’entrée):
require(["configuration","main"],
function (configuration, main) {
main.startUniverse();
}
);
Le problème est que je ne peux pas obtenir le oCanvas
objet dans mes fichiers JS:
define(["lib/ocanvas"],
function (oCanvas) {}
Il semble indéfini ici. Dans o sources Canvas Je vois qu'il y a 2 fonctions auto-appelantes et elles mettent la oCanvas
objet en état global comme ça: window.oCanvas = oCanvas
. Peut-être que cela ne fonctionne pas pour RequireJS?
Réponses:
1 pour la réponse № 1require(
function () {
requirejs.config({
shim: {
"lib/ocanvas": {
exports: "oCanvas"
}
}
});
}
);
Essayez de passer comme une chaîne pas un tableau?
0 pour la réponse № 2
Au lieu de requirejs.config
J'utilise maintenant require.config
et passez un objet là-bas:
require.config({
shim: {
"lib/ocanvas": {
exports: "oCanvas"
}
}
});
Cela a fonctionné pour moi.