本文实例讲述了AngularJS压缩JS的操作技巧。分享给大家供大家参考,具体如下:
大多数web项目在发布时候都会对js代码进行压缩,目的是为了减少js文件的大小,节省一点流量。
但是这种工作方式在AngularJS的应用中会有例外。
由于AngularJS的依赖注入是根据参数名进行注入的,显然,对参数进行重命名会破坏这个机制。
如果不进行特殊处理,进行压缩(minify)之后,在执行时将会出现这样的错误
UnkNow provider: aProvider<-a
对于这种错误的官方解释是:
也就是说这种依赖注入会出现错误。 好在AngularJS内置了一种标准机制来处理这个问题.最简单也最常见的方式就是用数组代替函数。
如:
rush:js;">
.controller('RegisterCtrl',['$scope','$interval','$timeout',function ($scope,$interval,$timeout) {
//do something
}]);
数组的最后一个元素始终是一个函数,而前面几个参数都是字符串,和这个函数中的参数一一对应。
另一种形式便是所谓的Annotation方式。
如rush:js;">
var objCtrl = function($scope,$timeout,$interval){
// do something
}
//给objCtrl函数增加一个$inject属性,它是一个数组,定义了需要被注入的对象
objCtrl.$inject = ['$scope','$timeout'];
这里的依赖注入形式不仅限于Controller,一切需要DI(依赖注入的directive、factory、services等)都可以采用这两种方式。
希望本文所述对大家AngularJS程序设计有所帮助。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。