requireJS加载非AMD常用脚本

时间:2015-07-16 22:14:24

标签: javascript jquery twitter-bootstrap jquery-ui requirejs

如何在requireJS中加载常见的非AMD投诉脚本,还是我必须手动执行?我特意讲的是我所有自定义模块全局需要的jQuery,bootstrap和其他一些小脚本。

1 个答案:

答案 0 :(得分:0)

您仍然可以要求RequireJS加载库,但您需要在requirejs.config()调用中使用“shim”功能,如下所示:

http://requirejs.org/docs/api.html#config-shim

如果我已经理解了你的要求,这里有一个例子(我没看看Bootstrap实际上是暴露了全局还是只是混入了jQuery但是你会看到这一点):

requirejs.config({
  paths: {
     'jquery': 'path/to/jquery/jquery.min',
     'bootstrap': 'path/to/bootstrap/bootstrap.min'
  },
  shim: {
     'bootstrap': {
         deps: ['jquery'],
         exports: 'Bootstrap'
     }
  }
});

require(['bootstrap'], function(Bootstrap) {
   /* Because of the specified dependencies above, RequireJS will load 
     jQuery first and then Bootstrap, supplying the library into the  
     function signature so that you can use the "Bootstrap" variable  
     normally. */
});

如果你还希望$成为jQuery的范围,你需要这样:

require(['jquery', 'bootstrap'], function($, Bootstrap) {
    // Use '$' and 'Bootstrap' normally here.
}