AngularJS压缩JS技巧分析
程序员文章站
2023-11-18 14:57:58
本文实例讲述了angularjs压缩js的操作技巧。分享给大家供大家参考,具体如下:
大多数web项目在发布时候都会对js代码进行压缩,目的是为了减少js文件的大小,节省...
本文实例讲述了angularjs压缩js的操作技巧。分享给大家供大家参考,具体如下:
大多数web项目在发布时候都会对js代码进行压缩,目的是为了减少js文件的大小,节省一点流量。
它的原理很简单,就是对参数及部分变量名和函数进行重命名。
但是这种工作方式在angularjs的应用中会有例外。
由于angularjs的依赖注入是根据参数名进行注入的,显然,对参数进行重命名会破坏这个机制。
如果不进行特殊处理,进行压缩(minify)之后,在执行时将会出现这样的错误
unknow provider: aprovider<-a
对于这种错误的官方解释是:找不到依赖的服务
也就是说这种依赖注入会出现错误。
好在angularjs内置了一种标准机制来处理这个问题.
最简单也最常见的方式就是用数组代替函数。如:
.controller('registerctrl', ['$scope', '$interval', '$timeout', function ($scope, $interval, $timeout) { //do something }]);
数组的最后一个元素始终是一个函数,而前面几个参数都是字符串,和这个函数中的参数一一对应。
另一种形式便是所谓的annotation方式。如
var objctrl = function($scope, $timeout, $interval){ // do something } //给objctrl函数增加一个$inject属性,它是一个数组,定义了需要被注入的对象 objctrl.$inject = ['$scope', '$interval', '$timeout'];
这里的依赖注入形式不仅限于controller,一切需要di(依赖注入的directive、factory、services等)都可以采用这两种方式。
希望本文所述对大家angularjs程序设计有所帮助。
推荐阅读
-
AngularJS压缩JS技巧分析
-
AngularJS压缩JS技巧分析
-
js 实现css风格选择器(压缩后2KB)_javascript技巧
-
js数组Array sort方法使用深入分析_javascript技巧
-
Js如何判断客户端是PC还是手持设备简单分析_javascript技巧
-
JS中confirm,alert,prompt函数区别分析_javascript技巧
-
JS函数this的用法实例分析_javascript技巧
-
js的压缩及jquery压缩探讨(提高页面加载性能/保护劳动成果)_javascript技巧
-
关于js new Date() 出现NaN 的分析_javascript技巧
-
脚本分析、压缩、混淆工具 JSA新版本发布,压缩效率提高大约10%_javascript技巧