我试着用requirejs加载一个插件,但偶尔会得到一个错误,"$.fn is undefined“,但是如果我重新加载页面,这个错误就会消失,就像现在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>这是无法更改的,因为它是我正在使用的框架的一部分。
有什么建议吗?
谢谢!
发布于 2013-01-09 19:44:32
订单插件已删除。使用填充加载,如下所示
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']
},
});参考:http://requirejs.org/docs/api.html#config-shim
发布于 2011-03-18 13:54:20
您将需要使用order plugin。默认情况下,RequireJS会尽可能快地加载脚本,并且脚本可以不按顺序加载。但是,order插件将保持脚本加载的顺序。
如果您使用优化器来优化您的脚本,请确保在优化后的脚本中同时包含jQuery和插件。
发布于 2012-03-13 03:24:24
您可能想要签出https://github.com/jquery-boilerplate/patterns
它有一些可以与RequireJS一起工作的很好的样板jQuery插件代码。
我认为在这些模式对你起作用之前,你可能必须升级你的jQuery到1.7。
https://stackoverflow.com/questions/5338088
复制相似问题