以下代码在小型化之前正常工作。从本质上讲,editableOptions是由angular-xeditable库提供的角度值。
angular.module('common').run(function(editableOptions) {
editableOptions.theme = 'bs3';
}
)
但是,当我缩小时,我会出现注射错误。我相信这是因为editableOptions
正在变得吝啬。如何以不同方式引用它以便不会发生这种情况?是否有某种方式从angular.module('xeditable')
开始引用它?
答案 0 :(得分:2)
使用minification-safe方法定义注入的对象:
angular.module('common').run(
['editableOptions',
function(editableOptions) {
editableOptions.theme = 'bs3';
}
]);
答案 1 :(得分:0)
Angular团队在其中一个教程中提到了解决此问题的方法:
https://docs.angularjs.org/tutorial/step_05
关于缩小的说明
由于Angular将控制器的依赖关系从参数名称推断到控制器的构造函数,如果你要缩小PhoneListCtrl控制器的JavaScript代码,它的所有函数参数都会被缩小。 ,依赖注入器将无法正确识别服务。
我们可以通过使用依赖项的名称来注释函数来克服这个问题,这些依赖项的名称是字符串,不会被缩小。
答案 2 :(得分:0)
这是避免缩小和丑化问题的另一种方式:
function runModule(editableOptions) {
editableOptions.theme = 'bs3';
}
runModule.$inject = ['editableOptions'];
angular.module('common').run(runModule);
Todd Motto Angular Style Guide
这有助于提高可读性并减少代码量,并且包含#34; 在Angular框架内