J'ai cherché de la documentation à ce sujet, mais je ne trouve rien nulle part.
J'utilise Aloha et je souhaite utiliser leur prototype de barre latérale pour créer une nouvelle barre latérale associée à d'autres fonctionnalités du plugin.
Leur sidebar.js commence par ceci, mais je ne peux pas pour la vie de moi trouver de documentation qui explique ce que cela signifie.
define( [
'aloha/core',
'aloha/jquery',
'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {
Il continue ensuite dans ce wrapper pour définir un tas de fonctions, untel vars
et certaines proptotypes
- que je peux à peu près comprendre ...
Qu'est-ce que cela dit ou où puis-je trouver une explication?
javascript
requirejs
requirejs-define
David O'Sullivan
la source
la source
Réponses:
Je ne peux pas dire avec certitude sans voir le script entier, mais c'est probablement la
define
fonction de RequireJS , en particulier la forme " définir avec les dépendances " de cette fonction. Il permet de définir un "module":Et la forme "définir avec dépendances" de
define
est décrite comme suit:la source
Il s'agit d'un modèle AMD pour l'écriture de modules pour lequel AMD signifie Asynchronous Module Definition lorsque vous devez importer des modules de manière asynchrone plutôt que quelque chose comme commonJS.
Define prend un tableau de dépendances et une fois que toutes celles-ci sont chargées en arrière-plan (async) de manière non bloquante, define appelle le callback qui à son tour accepte les arguments (dans ce cas les dépendances).
Une autre chose à noter est que chacun de ces modules doit également être défini en utilisant le mot-clé "define". Ainsi, par exemple, module1 serait défini comme ci-dessous:
Cette façon d'écrire des modules (AMD) vous permet d'écrire en tenant compte de la compatibilité du navigateur (pas de require () comme dans nodeJS) et vous pouvez également définir de nombreux formats, y compris des objets, JSON, etc. alors que par exemple commonJS a besoin que les modules soient des objets.
Gardez à l'esprit qu'AMD a ses propres inconvénients. J'espère que cela aide quelqu'un.
la source