我目前正在重构一个网站的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捆绑所有脚本会破坏浏览器化脚本的逻辑。这可能是什么原因呢?This gist显示了完整的源代码,以防相关。
我没有更改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")发布于 2016-04-27 02:05:31
请看这条评论,它可能会对https://github.com/jetheredge/SquishIt/issues/320#issuecomment-139921409有所帮助
有没有理由需要使用两种不同的捆绑解决方案?
https://stackoverflow.com/questions/36827748
复制相似问题