SeaJS之shim插件


SeaJS 中的模块默认都遵守 CMD 规范,但现实中已存在大量普通 JavaScript 类库,比如 jQuery、Underscore 等。使用 shim 插件,可以将这些普通 JS 文件转换成 CMD 模块,从而能在 SeaJS 中正常使用。


seajs.config({

  plugins: ['shim']

});

一旦激活后,alias 配置项就可以接受 shim Object 配置。


seajs.config({

  // 激活 shim 插件

  plugins: ['shim'],

 

  // shim 配置项

  alias: {

    // jQuery 的 shim 配置

    'jquery': {

      src: 'lib/jquery-1.9.1.min.js',

      exports: 'jQuery'

    },

 

    // jquery.easing 插件的 shim 配置

    'jquery.easing': {

      src: 'lib/jquery.easing.1.3.js',

      deps: ['jquery']

    }

  }

});

shim Object


shim Object 是一个对象:


'key': {

    src: String,

    deps: Array,

    exports: String | Function

  }

src 是字符串,表示文件路径。


deps 是数组,指定模块依赖。


exports 表示 require(key) 时应该返回哪个全局变量,比如 jquery 的是返回 jQuery 全局变量。exports 也可以是一个函数:


'jquery': {

   src: 'lib/jquery-1.9.1.min.js',

   exports: function() {

   return jQuery.noConflict();

  }

}

通过 shim 插件,可以加载任何非 CMD 模块。


说明:一般在config中使用,先激活plugins: [‘shim’],然后在alias中配置要引用的插件,例如jquery等。


你可能感兴趣的:(SeaJS之shim插件)