如何引用角度值,以便在缩小时不会破坏引用

时间:2015-04-08 22:02:16

标签: javascript angularjs minify

以下代码在小型化之前正常工作。从本质上讲,editableOptions是由angular-xeditable库提供的角度值。

angular.module('common').run(function(editableOptions) {
        editableOptions.theme = 'bs3';
    }
)

但是,当我缩小时,我会出现注射错误。我相信这是因为editableOptions正在变得吝啬。如何以不同方式引用它以便不会发生这种情况?是否有某种方式从angular.module('xeditable')开始引用它?

3 个答案:

答案 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框架内