He buscado por todas partes documentación sobre esto, pero no puedo encontrar nada en ningún lado.
Estoy usando Aloha y quiero usar su prototipo de barra lateral para crear una nueva barra lateral adjunta a otra funcionalidad de complemento.
Su sidebar.js comienza con esto, pero por mi vida no puedo encontrar ninguna documentación que explique lo que significa.
define( [
'aloha/core',
'aloha/jquery',
'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {
Luego continúa en ese contenedor para definir un montón de funciones, así vars
y algunas proptotypes
, que casi puedo entender ...
¿Qué dice eso o dónde puedo encontrar una explicación?
javascript
requirejs
requirejs-define
David O'Sullivan
fuente
fuente
Respuestas:
No puedo decir con certeza sin ver el script completo, pero es probable que sea la
define
función de RequireJS , en particular la forma " definir con dependencias " de esa función. Se utiliza para definir un "módulo":Y la forma de "definir con dependencias"
define
se describe a continuación:fuente
Este es el patrón de AMD para escribir módulos que AMD significa Definición de módulo asíncrono para cuando necesita importar módulos asíncronos básicamente en lugar de algo como commonJS.
Definir toma una serie de dependencias y una vez que todas se cargan en segundo plano (asíncrono) de forma no bloqueante, define las llamadas de devolución de llamada que a su vez acepta argumentos (en este caso, las dependencias).
Otra cosa a tener en cuenta es que cada uno de esos módulos también debe definirse utilizando la palabra clave "define". Entonces, por ejemplo, el módulo1 se definiría de la siguiente manera:
Esta forma de escribir módulos (AMD) le permite escribir teniendo en cuenta la compatibilidad del navegador (no require () como en nodeJS) y también puede definir muchos formatos, incluidos objetos, JSON, etc., mientras que commonJS necesita que los módulos sean objetos.
Tenga en cuenta que AMD tiene sus propias desventajas. Espero que esto ayude a alguien.
fuente