我必须将我的所有javascript文件捆绑到一个文件中。这是要求。现在我已经设置了几个grunt任务来连接我的javascript文件。情形:
jquery.js
jquery.plugin1.js
custom.js
>> combined.js
在我的开发设置中,我使用yepnopejs
加载所有脚本并在完成时执行它们。这很好用。除了作为连接文件,我的所有JavaScript代码都可以正常工作。似乎jQuery执行得太早,所以我的一些选择器与actucal标记不匹配。
development
$('input, select').not(':hidden').each(function(){...});
>> length: 21 items
作品
production (concated file)
$('input, select').not(':hidden').each(function(){...});
>> length: 0 items
不起作用。
初始化
development
yepnope([
{
load: 'http://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js'
},
{
load: 'js/jquery.plugin1.js',
complete: function() {
onReady();
}
}]);
production
$(window).load(function(){
onReady();
});
我也试过$(document).ready(function)
等等。我很确定我的初始化部分已经破坏或完全错误。
答案 0 :(得分:1)
在这种情况下,有几个步骤可以帮助调试正在进行的操作:
async
or defer
属性是否可以解决问题?"use strict"
内closure内运行,并通过JSLint $(document).ready()
是否有效?