首页 > 代码库 > AngularJs压缩时需要注意的事项
AngularJs压缩时需要注意的事项
由于AngularJS是通过控制器构造函数的参数名字来推断依赖服务名称的。所以如果你要压缩控制器的JS代码,它所有的参数也同时会被压缩,这时候依赖注入系统就不能正确的识别出服务了。
假如我们的Controller的名称为:BookCtrl,压缩前的代码为:
var BookCtrl = function($scope, $http) { /* constructor body */ };
为了克服压缩引起的问题,只要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组:
BookCtrl.$inject = [‘$scope‘, ‘$http‘];
另一种方法也可以用来指定依赖列表并且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数:
假如我们的Controller的名称为:BookCtrl,压缩前的代码为:
var BookCtrl = function($scope, $http) { /* constructor body */ };
为了克服压缩引起的问题,只要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组:
BookCtrl.$inject = [‘$scope‘, ‘$http‘];
另一种方法也可以用来指定依赖列表并且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数:
var BookCtrl = [‘$scope‘, ‘$http‘, function($scope, $http) { /* constructor body */ }];
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。