MVC3 中的 SquishIt 强制发布不能正确缩小 JQuery 插件



在带有第三方JQuery插件的MVC3应用程序中使用SquishIt时,我遇到了很多错误。在我的开发机器上,如果我在Bundle命令上设置ForceDebug方法,一切都会正常进行,JS也会正常处理。但是,如果我设置了ForceRelease方法(在投入生产之前进行测试),当我打开网站时,FireFox会显示"不是函数"错误。我尝试在web.config中设置compilation debug="true",但没有任何改进。

以下是我的_layout.cshtml文件中的JS调用。所有捆绑都适用于标准JQuery插件:

<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.min.js"></script>
<script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/mvc/3.0/jquery.validate.unobtrusive.min.js"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/jquery-ui-1.8.18.custom.min.js")"></script>
@(Bundle.JavaScript()
    .Add("~/Scripts/modernizr-2.5.3.js")
    .Add("~/Scripts/jquery.fileinput.js")
    .Add("~/Scripts/jquery.numeric.js")
    .Add("~/Scripts/jquery.maskedinput-1.3.min.js")
    .Add("~/Scripts/jquery.maxlength_countdown.js")
    .Add("~/Scripts/jquery.qtip.min.js")
    .Add("~/Scripts/jquery.pnotify-1.1.0.min.js")
    .Add("~/Scripts/fileuploader.js")
    .Add("~/Scripts/jquery.dropdownchecklist-1.4.js")
    .Add("~/Scripts/jquery.blockUI.js")
    .Add("~/Scripts/jquery.textarearesizer.min.js")
    .ForceRelease()
    .MvcRender("~/CompiledContent/combined_#.js")
  )

以下是FireFox显示的错误示例。这是基于我在捆绑包中包含的内容而更改的:

function (n) {var i = (n.browser.msie ? "paste" : "input") + ".mask", t = window.orientation != undefined;n.mask = {definitions: {9: "[0-9]", a: "[A-Za-z]", '*': "[A-Za-z0-9]"}, dataName: "rawMaskFn"}, n.fn.extend({caret: function (n, t) {if (this.length != 0) {if (typeof n == "number") {return t = typeof t == "number" ? t : n, this.each(function ()…YADDA YADDA-这里还有50行脚本。。。function () {setTimeout(i, 0);})();}).bind("blur.mask", function () {v(), c.val() != p && c.change();}).bind("keydown.mask", nt).bind("keypress.mask", d).bind(i, function () {setTimeout(function () {c.caret(v(true));}, 0);}), v();});}});}(jQuery) is not a function

$(".dropdown-checklist").dropdownchecklist is not a function

有没有想过我可能在这里搞砸了什么?

我们以前遇到过这样的事情。。。发现其中一个文件的javascript函数末尾没有分号。这造成了各种各样的破坏。当函数本身是一个文件时,它可以很好地工作,但一旦它被组合在一起,分号就会产生影响。

您也可以将Minifier设置为null Minifier,并查看它创建的输出。这可能有助于进行更多的故障排除。

最新更新