В Angular, можем ли мы иметь общий модуль приложения или отдельный модуль?

Мы с коллегой поговорили о настройке нашего приложения с использованием Angular js.

Я говорил, что мы можем создать глобальное общее модульное приложение (например, employeeApp), которое будет использоваться всеми его модулями, используемыми во всем приложении. Поэтому, если должна произойти какая-либо общая инъекция, мы вводим ее в приложение общего модуля, и нам не нужно вводить в отдельный модуль.

Но его целью было не создание глобального приложения Common Module. Потому что 1. Глобальная переменная, на которую будут жаловаться инструменты javascript (например: jshint). 2. Хотел сделать каждый модуль независимым. Если какие-либо проблемы возникают в конкретном модуле, это не повлияет на другие.

Как вы видите такой подход. Какой из них лучше другого. ?


person ggn979    schedule 19.03.2015    source источник
comment
Нет необходимости в глобальной переменной. Я могу привести пример, если хотите, но я думаю, что не понимаю вашего вопроса.   -  person Cerad    schedule 19.03.2015
comment
Почему нам не нужна глобальная переменная? это позволит избежать повторения инъекции в другом модуле.   -  person ggn979    schedule 19.03.2015


Ответы (2)


Целью модулей является повышение тестируемости.

Имея это в виду, чем больше модулей меньшего размера, тем лучше, поскольку каждый из них может быть лучше протестирован.

person Code Whisperer    schedule 19.03.2015
comment
Я бы также добавил, что возможность повторного использования не менее важна. - person David says Reinstate Monica; 19.03.2015

Вот как я настраиваю свой угловой код без глобальных переменных.

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

Таким образом, основным модулям приложения просто нужно знать имя каждого отдельного модуля.

Я не очень понимаю ваш вопрос, но я знаю, что глобальные переменные не нужны.

person Cerad    schedule 19.03.2015