angular route中使用resolve在代碼壓縮后-問題解決

問題

如下代碼所示, 如果在angular中配置route的resolve屬性時, 在自動化代碼混淆壓縮后 angular運行報錯谭跨,服務(Service)的注入通過“數(shù)組標注在方法的參數(shù)中聲明依賴”就可以了,控制器中的服務注入寫法也要數(shù)組的方式注入礁蔗,因為服務的實例化是通過字符串中的名字來實例化的,代碼壓縮混淆后會把服務對象變量名替換了雁社。

解決:

```

$routeProvider

.when("/page", {

controller: "MyCtrl",

templateUrl: "test.html",

resolve: {

resolveService: ['MyService', function (MyService) {

return MyService();

}]

}

})

```

最近(2017年4月1日)又發(fā)現(xiàn)一個因javascript代碼壓縮混淆后運行報錯的問題浴井,如圖:

乍一看,有關(guān)鍵字provider霉撵,就往上面遇到的問題想了磺浙,想到了是壓縮混淆代碼后報錯,那是哪個地方呢徒坡。把controller和route中resolve撕氧,還有服務(service,factory)崭参,filter呵曹,directive款咖,都檢查了一下何暮,都是按“數(shù)組標注在方法的參數(shù)中聲明依賴”。

由于是單獨這一個頁面報錯铐殃,肯定是這個頁面require的服務(service海洼,factory),filter富腊,directive有問題坏逢,后來發(fā)現(xiàn)是指令(directive中controller屬性的寫法沒有用數(shù)組標注聲明依賴)

controller: function ($scope) {

這段代碼壓縮混淆后成了controller: function (s) {

找不到$scope上下文變量了,

===========================割===============================

angular在執(zhí)行某些方法(例如在服務的工廠方法、控制器構(gòu)造方法)時會借助注入器(injector)是整。 可以通過以下三種方式注入服務:

1.通過數(shù)組標注在方法的參數(shù)中聲明依賴(優(yōu)先考慮)

module.controller('MyController', ['$scope','greeter', function($scope, greeter) {//...}]);

2. 定義在控制器構(gòu)造方法的$inject屬性中

```

var MyController = function($scope, greeter) {// ...}

MyController.$inject= ['$scope','greeter'];

module.controller('MyController', MyController);

```

3.通過方法參數(shù)名隱式的添加(有些注意事項)

```

module.controller('MyController', function($scope, greeter) {//...});

```

這種方式不能和JavaScript的代碼混淆器一起使用肖揣。可以通過ng-annotate在minifying之前隱式的添加依賴浮入。

參考:http://www.tuicool.com/articles/uEB3Mj

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末龙优,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子事秀,更是在濱河造成了極大的恐慌彤断,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件易迹,死亡現(xiàn)場離奇詭異宰衙,居然都是意外死亡,警方通過查閱死者的電腦和手機睹欲,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門供炼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人窘疮,你說我怎么就攤上這事劲蜻。” “怎么了考余?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵先嬉,是天一觀的道長。 經(jīng)常有香客問我楚堤,道長疫蔓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任身冬,我火速辦了婚禮衅胀,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘酥筝。我一直安慰自己滚躯,他們只是感情好,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布嘿歌。 她就那樣靜靜地躺著掸掏,像睡著了一般。 火紅的嫁衣襯著肌膚如雪宙帝。 梳的紋絲不亂的頭發(fā)上丧凤,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天,我揣著相機與錄音步脓,去河邊找鬼愿待。 笑死浩螺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的仍侥。 我是一名探鬼主播要出,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼农渊!你這毒婦竟也來了厨幻?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤腿时,失蹤者是張志新(化名)和其女友劉穎况脆,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體批糟,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡格了,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了徽鼎。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片盛末。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖否淤,靈堂內(nèi)的尸體忽然破棺而出悄但,到底是詐尸還是另有隱情,我是刑警寧澤石抡,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布檐嚣,位于F島的核電站,受9級特大地震影響啰扛,放射性物質(zhì)發(fā)生泄漏嚎京。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一隐解、第九天 我趴在偏房一處隱蔽的房頂上張望鞍帝。 院中可真熱鬧,春花似錦煞茫、人聲如沸帕涌。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚓曼。三九已至,卻和暖如春炸宵,著一層夾襖步出監(jiān)牢的瞬間辟躏,已是汗流浹背谷扣。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工土全, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留捎琐,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓裹匙,卻偏偏與公主長得像瑞凑,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子概页,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

推薦閱讀更多精彩內(nèi)容