2016-04-24 16 views
0

現在、Webサイトのjavascript部分をリファクタリングしています.Browserifyを使用していくつかのスクリプトをまとめてバンドルしました。作成されたスクリプトは、SquishItを使用して他のリソースとともにバンドルされています。デバッグモードでは、SquishItがすべてのスクリプトをまとめてバンドルしていないと、すべてうまく動作しているようですが、Productionで実行すると、SquishItはすべてをまとめてバンドルします。エラーは、rに以下の長さプロパティ(18行目参照)がないと不平を言っています。コードのこの部分は、スクリプトをバンドルするときにBrowserifyによって作成されます。ブラウザでSquishItをバンドルしたときにエラーが発生する

(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を使用してbrowserifiedスクリプトのロジックを破ることは何も考えることはできません。これの原因は何でしょうか? 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") 

答えて

1

はこれを見て、それを持っているコメント役に立つかもしれないhttps://github.com/jetheredge/SquishIt/issues/320#issuecomment-139921409

2つの異なるバンドリングソリューションを使用する必要があるのはなぜですか?

+0

ありがとうございます!私は、SquishIt(またはそれに含まれているいくつかの小型化装置)がbrowserifyによって生成されたクロージャを破壊したという、縮小出力を調べました。それらを「アンラップ」し、依存関係を順不同で得ることができます。これにより、うまく機能する組み込みのASP.NETバンドラーに変わりましたが、細分化によって、SquishItが壊れた理由であるかもしれない、未変換のES6ラムダ/矢印関数が含まれていることが示されました。 – oligofren

+0

2つの異なるバンドルソリューションを使用する理由については、私は最近、このレガシープロジェクトを引き継いで、最新のFEプラクティスを整理しようとしました。 Browserifyの使用私は、一度に1つのスクリプトをCommonJSに移動して、他のすべてに触れないでグローバルを取り除くことができます。 – oligofren

+1

その場合は、まず、付属のYUIミニプラグに切り替えてみます。それでも問題が解決しない場合は、Nugetで入手できるSquishIt v1.0のベータ版があります。まだいくつかの重要な変更がありますが、私はおそらくまともな形で使用すると思います。 https://www.nuget.org/packages/SquishIt/1.0.0-beta2 – AlexCuse

関連する問題