1

有没有办法

require ['jquery'], ($) ->
  ...

代替

require ['jquery', 'jquery-cookies', 'jquery-scroll', 'jquery-foo', jquery'bar'], ($) ->
  ...

每一次?

4

1 回答 1

2

一种选择是使用插件定义一个新模块,即 jquery。

// new module in something like jqueryBundle.js
define(['jquery', 'jquery-cookies', 'jquery-scroll', 'jquery-foo', 'jquery-bar'],  function($) {
    return $;
});

然后你可以只需要 jqueryBundle 代替。

编辑:根据评论建议,我没有提到我的回答期望 jquery 插件是 amd 模块(由作者或由您包装)或已经通过 shim 配置配置:http ://requirejs.org/docs/api.html #config-垫片

许多 jquery 插件不是 AMD 模块,但通常是简单 shim 配置的理想选择。对于一个小示例,请参阅我对另一个问题的回答:Using require.js with Twitter Boostrap API and Backbone

于 2012-10-18T01:27:48.897 回答