Índice
Pontos de conhecimento rápidos e breves
Sintaxe: seajs.use(id, callback?)
Introdução ao seaJS
O que é seaJS?
Semelhante ao requireJS, o seaJS também é um framework JS escrito em JavaScript. Sua principal função é carregar JavaScript e outros arquivos de acordo com diferentes dependências. Pode ser entendido simplesmente como um carregador de arquivos JS, o que é muito adequado para navegadores. Use , é pode garantir que o arquivo JS atual seja carregado após o carregamento do arquivo JS dependente, o que pode garantir a ordem de carregamento sequencial de cada arquivo JS em um projeto que usa um grande número de arquivos JS , garantindo que um determinado arquivo seja evitado por algum motivo . O carregamento lento faz com que outros arquivos de carregamento rápido dependam de algumas de suas funções, e uma função ou variável não pode ser encontrada. Isso é muito útil e também é o valor principal do seaJS (cumprir o CMD); mas é diferente de requireJS (em conformidade com as especificações da AMD) diferem.
Pontos de conhecimento rápidos e breves
1. seajs.config({...}); //Usado para configurar o Sea.js.
2. seajs.use(['a','b'], function(a,b){...}); //Usado para carregar um ou mais módulos na página.
3. define(function(require, exports, module){...}); //Usado para definir módulos. Sea.js respeita um módulo e um arquivo, e segue um método de escrita unificado:
4. require(function(require){var a = require("xModule"); ... }); //require é usado para obter o interface do módulo especificado.
5. require.async, //Usado para carregar de forma assíncrona um ou mais módulos dentro do módulo. Por exemplo:
define(function(require){
require.async(['aModule','bModule'],function(a,b){ // 异步加载多个模块,在加载完成时,执行回调
a.func();
b.func();
})
});
6. exports, //Usado para fornecer interfaces externas dentro do módulo. Por exemplo:
define(function(require, exports){
exports.varName01 = 'varValue'; // 对外提供 varName01 属性
exports.funName01 = function(p1,p2){ // 对外提供 funName01 方法
....
}
});
7. module.exports, semelhante a exports, é usado para fornecer interfaces externas dentro do módulo. Por exemplo:
define(function(require, exports, module) {
module.exports = { // 对外提供接口
name: 'a',
doSomething: function() {...};
};
});
Uso de seajs
usar
seajs.use é usado para carregar módulos na página. Através do método use, qualquer módulo pode ser carregado na página.
<script src="path/to/sea.js"></script>
<script>
seajs.use('./main');
</script>
Sintaxe: seajs.use(id, callback?)
// Carrega o módulo main, e quando o carregamento estiver completo, executa o callback especificado
seajs.use('./main', function(main) {
main.init();
});
O método use também pode carregar vários módulos de uma só vez:
// Carrega o módulo a e o módulo b simultaneamente e executa o retorno de chamada especificado quando ambos são carregados
seajs.use(['./a', './b'], function(a, b) {
a.init();
b.init();
});
O parâmetro callback é opcional. Quando apenas um módulo é carregado e nenhum retorno de chamada é necessário, ele pode ser simplificado com o atributo data-main:
<script src=”path/to/sea.js” data-main=”./main”></script>
Equivalente a
<script src="path/to/sea.js"></script>
<script>
seajs.use('./main');
</script>