我从RequireJS模块运行jQuery初始化。
但我注意到,在执行我的代码之前,RequireJS会等到所有页面资源都被加载。
我正在将一些大图像加载到我的页面中,但是不想等到加载它们来设置我的jQuery插件。
尝试这样做时是否有最佳做法?
这是我的设置:
的index.html
<script data-main="js/main.js" src="js/libs/require.js"></script>
main.js
require(["inits"], function(Inits) {
//Nothing here yet.
});
inits.js
define([
'jquery',
'jquery.plugin1',
'jquery.plugin2',
'etc'
], function ($) {
//jQuery Document Ready.
$(function(){
//Jquery Init Code here
});
}
我是RequireJS的新手,我做错了吗?
答案 0 :(得分:2)
好吧,所以我有一个似乎有效的工作。
在此处引用此票证:
https://github.com/jrburke/requirejs/issues/463
我将带有data-main的脚本标记移动到了body标签的末尾。
<script data-main="js/main.js" src="js/libs/require.js"></script>
</body>
然后解开我的jquery函数:
<强>之前强>
define([
'jquery',
'jquery.plugin1',
'jquery.plugin2',
'etc'
], function ($) {
//jQuery Document Ready.
$(function(){
//Jquery Init Code here
});
}
<强>后强>
define([
'jquery',
'jquery.plugin1',
'jquery.plugin2',
'etc'
], function ($) {
//Jquery Init Code here with no Ready Wrapper.
}
它似乎正在工作,并且在html文件的末尾“应该”防止DOM出现任何问题。然而,我对这种方法并不完全满意。我想保持开放,看看其他人是否有更好的主意。