美文网首页
Angular JS Compression Note

Angular JS Compression Note

作者: Yves_lau | 来源:发表于2015-07-03 12:13 被阅读20次

    关于JS压缩
    由于AngularJS是通过控制器构造函数的参数名字来推断依赖服务名称的。所以如果你要压缩PhoneListCtrl
    控制器的JS代码,它所有的参数也同时会被压缩,这时候依赖注入系统就不能正确的识别出服务了。
    为了克服压缩引起的问题,只要在控制器函数里面给$inject
    属性赋值一个依赖服务标识符的数组,就像被注释掉那段最后一行那样:

    PhoneListCtrl.$inject = ['$scope', '$http'];
    

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

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

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

    相关文章

      网友评论

          本文标题:Angular JS Compression Note

          本文链接:https://www.haomeiwen.com/subject/sikyqttx.html