在Angular中,我们可以有通用的应用程序模块吗?或者我们可以有单独的模块吗



我和同事讨论了如何使用Angular js设置我们的应用程序。

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

但他的观点并不是创建全球通用模块应用程序。因为1.javascript工具(例如:jshint)会抱怨的全局变量。2.想让每个模块都独立。如果某个模块出现任何问题,它不会影响其他模块。

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

模块的目的是提高可测试性

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

以下是我如何在没有全局变量的情况下设置角度代码。

// 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);

因此,主要的应用程序模块只需要知道每个单独模块的名称。

我真的不理解你的问题,但我知道不需要全球化。

相关内容

最新更新