AngularJs压缩时须要注意的事项

因为AngularJS是通过控制器构造函数的參数名字来判断依赖服务名称的。所以假设你要压缩控制器的JS代码。它全部的參数也同一时候会被压缩,这时候依赖注入系统就不能正确的识别出服务了。

假如我们的Controller的名称为:BookCtrl,压缩前的代码为:

var BookCtrl = function($scope, $http) { /* constructor body */ };

为了克服压缩引起的问题。仅仅要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组:

BookCtrl.$inject = [‘$scope‘, ‘$http‘];

还有一种方法也能够用来指定依赖列表而且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数:

var BookCtrl = [‘$scope‘, ‘$http‘, function($scope, $http) { /* constructor body */ }];

上面提到的两种方法都能和AngularJS可注入的不论什么函数完美协作,要选哪一种方式全然取决于你们项目的编程风格,建议使用数组方式。

时间: 2024-10-05 05:31:42

AngularJs压缩时须要注意的事项的相关文章

AngularJs压缩时需要注意的事项

由于AngularJS是通过控制器构造函数的参数名字来推断依赖服务名称的.所以如果你要压缩控制器的JS代码,它所有的参数也同时会被压缩,这时候依赖注入系统就不能正确的识别出服务了. 假如我们的Controller的名称为:BookCtrl,压缩前的代码为: var BookCtrl = function($scope, $http) { /* constructor body */ }; 为了克服压缩引起的问题,只要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组: BookCt

orang's 一个操作系统 主机win7 64位,虚拟机LINUX时的一些注意事项

主机64位windows7 虚拟机Debian 8 64位 1.vbox虚拟机linux挂载windows文件夹64位系统 mount -t vboxsf /共享的windows目录名 /linux下装备要挂载的目录名 mount -o loop 要挂载的文件名 /linux下的目录名 cp 准备复制的文件名 /用mount -o loop 挂载的目录名 umount /用mount -o loop 挂载的目录名   ;取消挂载 2.debianLinux :mount时出现文件系统有问题时解决

Linux系统下tar命令进行压缩时的绝对路径问题

问题:在Linux下进行压缩时,出现绝对路径时,如:tar zcvf dest.tar.gz /home/ossuser/test/src1.txt 压缩会出现这样的提示:tar: Removing leading `/' from member names:当打开生成的压缩包时,发现压缩包里面的文件,是将整个路径全部压入的,解压的时候也会将该路径解压出来 解决方法:使用tar命令中的-C参数:tar zcvf DestFileName [-C SrcFileDir [SrcFileName ]

Unix系统重启时必须注意的事项

Unix系统重启时必须注意的事项 对于系统管理员来说如何管理自己的服务器已经是再简单不过,但是如何管理好服务器却不是一个简单的事情.对于Windows服务器管理员来说经常性重启Windows设备已经成为一种生活常态,但在Unix系统中这可不是常态的事,在默认情况下重新启动不会带来任何形式的改善. 对于每一位服务器管理员来说这都算得上热门话题,但在Unix极客们眼中它则属于一种层次更深的课题--可能因为Windows管理员们往往把重启当成故障排查工作的首要步骤之一,而Unix团队则一般只在束手无策

金笛JAVA二次开发包开发Wavecom短信应用时需要注意如下事项

1. 金笛JAVA开发包目前在WindowsXP.2000.2003.Vista.Linux(Redhat.Centos)各个版本测试并有实际应用,solaris,aix.hp-ux目前暂时没有测试,不能保证在这些平台上可以使用.金笛JAVA 开发包针对windows版本和linux版本分别有不同的打包文件,底层串口的驱动是不同的(linux下是RxTX驱动,windows下是mscomm.dll),购买开发包时,请一定说明实际应用环境. 2. 如果没有特殊情况,请尽量选用串口的Wavecom或

购买云主机时应该注意哪些事项

现在互联网上最热门的词语就是“云计算”了,现在云主机也逐渐被大家认可.大家都知道云主机是在云计算出现后才出现的,所以云主机是基于云计算的一种主机服务,云主机的工作原理也是和云计算一样的.因为这样的工作原理保证了云主机不会宕机,拥有了100%的在线时长;处理速度更快,保证了用户访问时的访问速度,提升了用户体验.很多站长朋友在为网站选择服务器的时候开始使用云主机,今天笔者就跟大家分享一下购买云主机时应该注意哪些事项. 第一,云主机是否具备即时备份功能 作为新一代的云服务器,在备份方面采取与传统虚拟主

android UI设计时须要注意遵循的设计原则

1.Android设备屏幕尺寸分布 首先看一下各种屏幕的尺寸和屏幕密度划分.下图是各种屏幕尺寸相应的范围: 从上图能够看出,相应normal尺寸的屏幕范围集中在常见的3到5寸屏之间,large尺寸相应的就主要是5到7寸的nottpad之类的设备,比如三星的Note和Nexus7平板等,再网上走就是平板电脑了. 接下来是屏幕密度(dpi),须要说明的时.平时所说的屏幕分辨率事实上不能作为屏幕适配的根据,应该根据屏幕密度和屏幕尺寸来换算,屏幕密度是指每寸屏幕内容纳的像素数,屏幕密度从ldpi到xhd

VS2015在创建项目时的一些注意事项

一.下面是在创建一个新的项目是我最常用的,现在对他们一一做一个详细的介绍: 1.Win32控制台应用程序我平时编写小的C/C++程序都用它,它应该是用的最多的. 2.名称和解决方案名称的区别:名称是项目的名称,一个解决方案中可以包含多个项目,所以解决方案名称包含项目名称. 3.新建Git存储库(G) (1).把前面的勾去掉 下面是解决方案名称目录下面的目录及文件: 下面是项目名称目录下面的文件: (2). 把前面的勾勾上 下面是解决方案名称目录下面的目录及文件: 多了2个文件. 多的这两个文件不

ruby 作为嵌入脚本时使用的注意事项

近期一直在採坑... 假设是作为嵌入式脚本使用ruby的话... 一定会遇到这2个问题... gem安装的,无法在嵌入时使用..为啥.? 由于你没require 'ruby gem' 出现 找不到 Encoding::UTF_8 怎么办? 由于你没require 'enc/encdb' 好吧..继续等坑...OTZ