Eu pesquisei alto e baixo para documentação sobre isso, mas simplesmente não consigo encontrar nada em qualquer lugar.
Estou usando o Aloha e quero usar o protótipo da barra lateral para criar uma nova barra lateral anexada a outras funcionalidades do plug-in.
O sidebar.js deles começa com isso, mas não consigo encontrar nenhuma documentação que explique o que isso significa.
define( [
'aloha/core',
'aloha/jquery',
'aloha/selection'
], function (Aloha, jQuery, Selection, Plugin) {
Então, nesse invólucro, ele define várias funções, vars
algumas e algumas proptotypes
- das quais eu posso entender ...
O que é esse ditado ou onde posso encontrar uma explicação?
javascript
requirejs
requirejs-define
David O'Sullivan
fonte
fonte
Respostas:
Não posso ter certeza sem ver o script inteiro, mas é provável que seja a
define
função do RequireJS , em particular o formulário " definir com dependências " dessa função. É usado para definir um "módulo":E a forma "definir com dependências"
define
é descrita da seguinte maneira:fonte
Esse é o padrão da AMD para escrever módulos, o qual AMD significa Asynchronous Module Definition para quando você precisar importar módulos assíncronos basicamente, em vez de algo como o commonJS.
Definir assume uma matriz de dependências e, uma vez que todas elas são carregadas em segundo plano (assíncronas) de maneira não-bloqueadora, defina chamadas de retorno de chamada que, por sua vez, aceitam argumentos (neste caso, as dependências).
Outro ponto a ser observado é que cada um desses módulos também precisa ser definido usando a palavra-chave "define". Assim, por exemplo, module1 seria definido como abaixo:
Essa maneira de escrever módulos (AMD) permite que você escreva com a compatibilidade do navegador em mente (não é necessário () como no nodeJS) e também pode definir muitos formatos, incluindo objetos, JSON, etc., enquanto, por exemplo, o commonJS precisa que os módulos sejam objetos.
Lembre-se de que a AMD tem suas próprias quedas. Espero que isso ajude alguém.
fonte