前段时间尝试压缩过公司angular控制器js,压缩后js大小几乎都缩小50%以上,但是使用的时候出错了。今天有空整理了下:
angularjs是通过控制器构造函数的参数名字来进行依赖注入,压缩控制器js代码,所有的参数也同时被压缩了,这是依赖注入系统就不能正确的识别出服务器。
下图:这是公司目前的写法:
压缩后:这时发现参数名也被压缩了,这就是我一开始压缩公司控制器导致无法使用的原因
解决办法:使用javascript数组方式构造控制器,把注入服务放到一个字符串数组中(代表依赖的名字),数组最后一个元素是控制器的方法函数:
压缩后代码参数带上了:
测试可以使用压缩过的js了