0

我目前正在重构网站的 javascript 部分,现在我使用 Browserify 将一些脚本捆绑在一起。生成的脚本与使用 SquishIt 的其他资源捆绑在一起。在调试模式下,当 SquishIt 没有将所有脚本捆绑在一起时,一切似乎都可以正常工作,但是当在生产环境中运行时,SquishIt 将所有内容捆绑在一起,我从包的 Browserify 部分收到错误。错误是抱怨r下面没有长度属性(见第 18 行)。这部分代码是 Browserify 在打包脚本时创建的。

(function e(t, n, r) { function s(o, u) { if (!n[o]) { if (!t[o]) { var a = typeof require == "function" && require; if (!u && a) return a(o, !0); if (i) return i(o, !0); var f = new Error("Cannot find module '" + o + "'"); throw f.code = "MODULE_NOT_FOUND", f } var l = n[o] = { exports: {} }; t[o][0].call(l.exports, function(e) { var n = t[o][1][e]; return s(n ? n : e) }, l, l.exports, e, t, n, r) } return n[o].exports } var i = typeof require == "function" && require; for (var o = 0; o < r.length; o++) s(r[o]); return s })({

我真的想不出使用 SquishIt 捆绑所有脚本会破坏浏览器脚本的逻辑。这可能是什么原因?这个要点显示了整个源代码,以防万一。

我在 ASP.NET 方面(在捆绑中)没有更改任何内容,我的“Head.ascx”的相关部分如下所示:

 Bundle.JavaScript() 
 .Add(Assets.JavaScript.GetUrl("main.js").ToString()) 
 .Add(Assets.JavaScript.GetUrl("Plugins/raphael-min.js").ToString()) 
 .Add(Assets.JavaScript.GetUrl("Plugins/vector_map.js").ToString()) 
 // more ...
 .Render("~/Content/"+Assets.VersionString+"/Scripts/Combined/combined.js")
4

1 回答 1

1

看看这个评论它可能会有所帮助https://github.com/jetheredge/SquishIt/issues/320#issuecomment-139921409

您是否有理由需要使用两种不同的捆绑解决方案?

于 2016-04-26T18:05:30.950 回答