要捆綁和縮小我的應用程序的文件,我正在使用.NET捆綁和縮小功能(使用任何其他工具很複雜,所以我想爲此找到一個解決方案)。是否有可能不會在.NET縮小中加入?
作爲一個評論,以防萬一它可以幫助,我試圖縮小angular
文件,從typescript
和常規javascript
文件編譯的文件。
問題是,當我執行應用程序時,我收到了一些javascript例外,主要與angular
有關。我認爲這不是有用的,但也許它可以幫助,所以這是主要的例外,我得到:
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
是一個json
文件與文件的URL來縮小的參考。但是,當我設置mangle
屬性設置爲false(here you have more info about it):
uglify: {
options: {
preserveComments: false,
mangle: false
},
myScript: {
files: {
'myScript.min.js': conf.myScript
}
}
}
它工作正常了。它讓我認爲,某些類的改變是問題的根源。
正如你所看到的,我使用grunt
達成了一個解決方案,但我想找到一種避免與.NET
混淆的方法。任何想法?
我認爲你的問題與minifing AngularJs,有一些實踐,以避免與角度衝突,你必須遵循安全規範https://www.sitepoint.com/5-minutes-to-min-safe-angular-code -with-grunt/ –
@AbdelrhmanMohamed我讀過了你在評論中發佈的鏈接,儘管我使用數組語法編寫了所有的角碼,但是在與其他開發人員共享的項目中,有一些類依賴關係注入沒有用字符串數組完成。因此,在檢查一些類並修復它們之後,現在通過.NET進行縮小工作正在發揮作用。 – christiansr85