私のアプリケーションのファイルをバンドルして縮小するには、.NETバンドルとミニフィニッシュの機能を使用しています(これは他のツールを使用するのが難しく、このための解決策を探しています)。は.NETの縮小化でマングリングしない可能性がありますか?
私はangular
ファイル、typescript
からコンパイルされたファイル、およびjavascript
ファイルを細分化しようとしています。
問題は、私がアプリケーションを実行すると、ほとんどがangular
に関連するいくつかのjavascriptの例外があるということです。私はそれが有用ではないと思うけど、多分それは助けることができるので、これは私が得る主な例外です:私はちょうどそれらを束ねた場合
Error: [$injector:unpr] Unknown provider: tProvider <- t <- highChartSeriesMappingService http://errors.angularjs.org/1.5.5/ $injector/unpr?p0=tProvider%20%3C-%20t%20%3C-%20highChartSeriesMappingService [Rest of the exception trace][...]
と何の縮小化、私のファイルは、この命令myScriptBundle.Transforms.Clear()
を設定することで、それが正常に動作しません。明らかに、このアクションは、変数、クラス、...名前のマングリングも回避します。
私はgrunt
とそのプラグインgrunt-contrib-uglify
を使用してバンドルして縮小しました。
uglify: {
options: {
preserveComments: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
conf
が縮小化するファイルのURLをjson
ファイルへの参照である:初めに私は、以前のようにので、私は仕事のために使用される基本的な構成の同じ問題を抱えていました。しかし、私は偽(here you have more info about it)へmangle
プロパティを設定する場合:それはあまりにも正常に動作します
uglify: {
options: {
preserveComments: false,
mangle: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
を。それは、私が、問題の根源をいくつかのクラスのmanglingという名前にしています。
ご覧のとおり、grunt
を使用して解決策に達しましたが、.NET
でマングリングを回避する方法を探したいと思います。何か案が?
私はあなたの問題をAngularJsを最小限に抑えることで解決していると思いますが、安全な使い方に従わなければならない角度との衝突を避けるためにいくつかの練習があります。https://www.sitepoint.com/5-minutes-to-min-safe-angular-code -with-grunt/ –
@AbdelrhmanMohamedあなたのコメントに投稿したリンクを読みましたが、配列構文を使ってすべての角度コードを書いていますが、他の開発者と共有されているプロジェクトでは、依存配列の挿入は文字列配列では行われませんでした。だから、いくつかのクラスをチェックして修正した後、.NETを使った細分化が機能しています。 – christiansr85