我尝试在包含以下功能的javascript文件上运行MVC4包:
$.fn.ApplyBehavior = function (behaviors) {
var fns = behaviors.split(",");
var $t = $(this);
$.each(fns, function (i, o) {
try {
var callfn = eval(o);
if (typeof callfn == 'function') {
callfn.call($t);
}
} catch (e) {
// faill silently
console.log(o);
console.log(e.stack);
}
});
return this;
}
捆绑产生的结果如下所示:
$.fn.ApplyBehavior = function(n) {
var t = n.split(","), i = $(this);
return $.each(t, function(i, o) {
try {
var callfn = eval(o);
typeof callfn == "function" && callfn.call(i)
} catch (e) {
console.log(o), console.log(e.stack)
}
}), this
},
问题出现在在输出结果中使用“i”,我已经在“each”循环中使用“i”,所以显然冲突是用“i”调用一个函数“作为背景
我正在使用最新的NuGet优化包(1.1.0-Beta1)和通常的Bundle代码:
bundle = new ScriptBundle("~/scripts/uijs").Include("~/js/ui.web.js");
bundles.Add(bundle);
我做错了吗?为什么不预先检测“i”的使用?如果这是一个错误,我该如何报告?
答案 0 :(得分:1)
这可能是因为您在代码中使用了注释(//静默地使用faill)。有时捆绑包会在您执行此操作时生成错误。