• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >AngularJS > AngularJS压缩JS技巧分析

AngularJS压缩JS技巧分析

作者:前端超人 字体:[增加 减小] 来源:互联网 时间:2017-05-30

本文主要包含angularjs.min.js,angularjs.min.js下载,angularjs.js下载,angularjs app.js,angularjs和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
}]);

</div>

数组的最后一个元素始终是一个函数,而前面几个参数都是字符串,和这个函数中的参数一一对应。

另一种形式便是所谓的Annotation方式。如

var objCtrl = function($scope, $timeout, $interval){
  // do something
}
//给objCtrl函数增加一个$inject属性,它是一个数组,定义了需要被注入的对象
objCtrl.$inject = ['$scope', '$interval', '$timeout'];

</div>

这里的依赖注入形式不仅限于Controller,一切需要DI(依赖注入的directive、factory、services等)都可以采用这两种方式。

希望本文所述对大家AngularJS程序设计有所帮助。

</div>

您可能想查找下面的文章:

  • AngularJS压缩JS技巧分析

相关文章

  • 2017-05-30AngularJS基础学习笔记之表达式
  • 2017-05-30Angularjs注入拦截器实现Loading效果
  • 2017-05-30使用AngularJS2中的指令实现按钮的切换效果
  • 2017-05-30Angular.JS中的this指向详解
  • 2017-05-30详解JavaScript的AngularJS框架中的表达式与指令
  • 2017-05-30Angularjs中ng-repeat-start与ng-repeat-end的用法实例介绍
  • 2017-05-30AngularJS 作用域详解及示例代码
  • 2017-05-30AngularJS框架的ng-app指令与自动加载实现方法分析
  • 2017-05-30AngularJs基本特性解析(一)
  • 2017-05-30深入理解AngularJS中的ng-bind-html指令和$sce服务

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • AngularJS基础 ng-switch 指令简单示例
    • AngularJS 路由和模板实例及路由地址简化方法(必看)
    • AngularJS入门教程之Helloworld示例
    • AngularJS轻松实现双击排序的功能
    • 使用AngularJS和PHP的Laravel实现单页评论的方法
    • AngularJS 文件上传控件 ng-file-upload详解
    • 在AngularJS应用中实现一些动画效果的代码
    • AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
    • AngularJS $injector 依赖注入详解
    • 基于Angularjs+mybatis实现二级评论系统(仿简书)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有