在Angular中,我们可以拥有通用的App模块,还是可以拥有单独的模块?

时间:2015-03-19 18:45:34

标签: angularjs angularjs-module

我和我的同事谈过使用Angular js设置我们的应用程序。

我说我们可以创建一个全局通用模块应用程序(例如:employeeApp),它将被整个应用程序中使用的所有模块使用。因此,如果必须进行任何常见注入,那么我们将其注入Common Module App中,我们不需要注入单个Module。

但他的观点不是创建全球通用模块应用程序。因为    1.全局变量将被javascript工具抱怨(例如:jshint)。    2.希望每个模块都是独立的。如果特定模块中发生任何问题,则不会影响其他模块。

您如何看待这种方法。哪一个比另一个更好。 ?

2 个答案:

答案 0 :(得分:0)

模块的目的是增加 可测试性

考虑到这一点,更多,更小的模块更好,因为每个模块都可以更好地进行单元测试。

答案 1 :(得分:0)

以下是我设置没有全局变量的角度代码的方法。

// app.js
(function(angular) { 'use strict';

  var zaysoApp = angular.module('zaysoApp', 
    ['ngResource','ngRoute','zaysoApp.personModule']);

})(angular);

// person.js
(function(angular) { 'use strict';

  var personModule = angular.module('zaysoApp.personModule', []);

  personModule.factory('personFactory', [ function()
  {
    return { create: function(data) { return new Person(data); }};
  }]);
})(angular);

因此主要的app模块只需要知道每个模块的名称。

我真的不明白你的问题,但我知道不需要全局变量。