jQuery技术

AngularJS压缩JS的操作技巧分析

字号+ 作者:H5之家 来源:H5之家 2017-02-15 15:02 我要评论( )

这篇文章主要介绍了AngularJS压缩JS的操作技巧分析,分析了AngularJS进行压缩(minify)之后出现的问题与相应的解决方法,需要的朋友可以参考下

本文实例讲述了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压缩JS的操作技巧分析,希望本文所述对大家AngularJS程序设计有所帮助。

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作

    轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作

    2017-02-14 12:00

  • jQuery操作Table学习总结

    jQuery操作Table学习总结

    2017-02-10 13:04

  • DOM节点的操作

    DOM节点的操作

    2017-02-04 08:00

  • JQuery学习之操作类数组的工具方法

    JQuery学习之操作类数组的工具方法

    2016-12-30 08:01

网友点评