Jquery Requirejs加载插件

Jquery Requirejs加载插件,jquery,requirejs,Jquery,Requirejs,我尝试使用requirejs加载插件,但偶尔会出现错误,“$.fn未定义”,但如果我重新加载页面,错误会消失,就像现在缓存jquery一样,问题会被消除。我正在加载我的库,如下所示: require(["jquery-1.4", "/script/jquery.autoSuggest.packed.js"], function($) { $(function() { //code }); }); 您能看到这个实现是否有任何错误导致这个错误吗?页面中添加了Requir

我尝试使用requirejs加载插件,但偶尔会出现错误,“$.fn未定义”,但如果我重新加载页面,错误会消失,就像现在缓存jquery一样,问题会被消除。我正在加载我的库,如下所示:

require(["jquery-1.4", "/script/jquery.autoSuggest.packed.js"], function($) {
   $(function() {
       //code
    });
});
您能看到这个实现是否有任何错误导致这个错误吗?页面中添加了Require js,如下所示:

<script type="text/javascript" src="http://website.co.uk/frameworks/requirejs/0.2.4/sharedmodules/require.js">
</script> 
<script type="text/javascript">  requireMap = {
     "jquery-1.4":"http://website.co.uk/sharedmodules/jquery-1.4"
}; 

    require({ baseUrl: 'http://website.co.uk/', paths: requireMap });      
</script>

requireMap={
“jquery-1.4”:http://website.co.uk/sharedmodules/jquery-1.4"
}; 
需要({baseUrl:'http://website.co.uk/,路径:requireMap});
这是无法更改的,因为它是我正在使用的框架的一部分

有什么建议吗

谢谢

您将要使用。默认情况下,RequireJS尽可能快地加载脚本,并且它们可以无序加载。但是,order插件将保持脚本加载的顺序

如果使用优化器优化脚本,请确保在优化脚本中同时包含jQuery和插件。

您可能需要签出

它有一些很好的jQuery插件代码样板,可用于RequireJS


我认为您可能必须将jQuery升级到1.7,然后这些模式才能对您起作用。

order插件被删除。使用垫片加载,如下所示

requirejs.config({
   paths: {
        'jquery': 'https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min',
        'bootstrap': '../bootstrap/js/bootstrap.min',
        'select2': 'vendor/select2',
        'jshashtable': 'vendor/jshashtable-2.1',
        'jquery.numberformatter': 'vendor/jquery.numberformatter-1.2.3.min',
        'jq-datepicker': 'vendor/bootstrap-datepicker',
        'jq-datepicker.da': 'vendor/bootstrap-datepicker.da'
    }, 

    // Use shim for plugins that does not support AMD
    shim: {
        'bootstrap': ['jquery'],
        'select2': ['jquery'],
        'jq-datepicker': ['jquery'],
        'jshashtable': ['jquery'],
        'jquery.numberformatter': ['jquery', 'jshashtable']
    },

});

参考资料:

um。这仍然适用于jquery1.7吗?@Stann是的,仍然适用于jquery1.7。虽然jQuery 1.7注册为AMD模块,但jQuery插件可能不会将其代码封装在define()包装器中,要求将“jQuery”作为依赖项。因此,jQuery插件确实存在问题——如果它在jQuery加载之前加载,就会出现问题,除非插件将自身包装在AMD define()调用中。对于那些通过找到该插件的用户,RequireJS 2.0中没有提供order插件,因此@jrburke上面的链接没有帮助。您仍然可以使用,但更好的解决方案是使用。否决,因为此答案已过时。正如@KongaRaju所指出的,Order插件已经被删除,使用SHIM是首选方法。讨厌否决投票,但如果答案不再有效,那么就不应该再高分,因为人们会采用错误的方法。您提供的链接似乎已断开,但此链接没有问题