sea.js經常使用接口

seajs.config

用來對 Sea.js 進行配置。jquery

seajs.config({ // 指定須要使用的插件 plugins: ['text', 'shim'],

 // 設置別名,方便調用 alias: { 'class': 'arale/class/1.0.0/class', // 配置非 CMD 模塊的 shim 信息,這樣咱們就能夠經過 require('jquery') 來獲取 jQuery 'jquery': { src: 'lib/jquery-1.9.1.min.js', exports: 'jQuery' } }, // 設置路徑,方便跨目錄調用 paths: { 'arale': 'https://a.alipayobjects.com/arale', } }); 

 

seajs.use

用來在頁面中加載一個或多個模塊。異步

// 加載一個模塊
seajs.use('./a');

// 加載一個模塊,在加載完成時,執行回調
seajs.use('./a', function(a) {
  a.doSomething();
});

// 加載多個模塊,在加載完成時,執行回調
seajs.use(['./a', './b'], function(a, b) {
  a.doSomething();
  b.doSomething();
});

 

define

用來定義模塊。Sea.js 推崇一個模塊一個文件,遵循統一的寫法:async

define(function(require, exports, module) {

  // 模塊代碼

});

也能夠手動指定模塊 id 和依賴
requireexports 和 module 三個參數可酌情省略,具體用法以下。ui

require

require 用來獲取指定模塊的接口。spa

define(function(require) {

  // 獲取模塊 a 的接口
  var a = require('./a');

  // 調用模塊 a 的方法
  a.doSomething();
});

注意,require 只接受字符串直接量做爲參數插件

require.async

用來在模塊內部異步加載一個或多個模塊。code

define(function(require) {

  // 異步加載一個模塊,在加載完成時,執行回調
  require.async('./b', function(b) {
    b.doSomething();
  });

  // 異步加載多個模塊,在加載完成時,執行回調
  require.async(['./c', './d'], function(c, d) {
    c.doSomething();
    d.doSomething();
  });

});

 

exports

用來在模塊內部對外提供接口。接口

define(function(require, exports) {

  // 對外提供 foo 屬性
  exports.foo = 'bar';

  // 對外提供 doSomething 方法
  exports.doSomething = function() {};

});

 

module.exports

與 exports 相似,用來在模塊內部對外提供接口。ip

define(function(require, exports, module) {

  // 對外提供接口
  module.exports = {
    name: 'a',
    doSomething: function() {};
  };

});
相關文章
相關標籤/搜索