Я работаю над крупномасштабным угловым проектом с командой разработчиков.Управление именами углового модуля в большом проекте
проблема, с которой мы сталкиваемся, - это если у вас есть несколько файлов для компонента, например, директива.
некоторых-directive.js
некоторого-директивный-controller.js
в определении обоих файлов вы должны прикрепить их к модулю, однако один файл должен создать модуль с []
. Если разработчик забывает совать, они добавят []
во второй файл, который на самом деле перезапишет модуль. так что теперь он становится игрой памяти. Каждый разработчик должен помнить только объявить модуль в одном файле []
некоторые-directive.js
angular.module('some-module',['some-dependencies']).directive('some-directive',function(){});
некоторые-controller.js
angular.module('some-module',[]).controller('some-controller',function(){});
мы использовали следующий подход. Есть ли способ лучше?
некоторые-directive.js
некоторые-директивные-module.js
некоторые-директивные-controller.js
где некоторые директивы-модуль содержит только создание модуля, включает в себя все зависимости, и делает любой .config необходимо. Тем не менее разработчику необходимо запомнить angular.module ('some-directive') во всех других файлах без квадратных скобок.
некоторые-директивные-module.js
angular.module('some-directive',[])
.config(//someconfig stuff);
некоторые-директивные-module.js
angular.module('some-directive).directive(//declare directive);
некоторые-директивные-controller.js
angular.module('some-directive).controller(//declare contrller used by directive);
Я предположил, что вместо этого мы hould сделать следующее, что устраняет проблему перезаписи модулей, но я получил некоторую отрицательную обратную связь от одного из других дэвов
некоторых директива-module.js
angular.module('some-directive',['some-directive.directive','some-directive.controller'])
.config(//someconfig stuff);
некоторые-директивный-module.js
angular.module('some-directive.directive',[]).directive(//declare directive);
некоторые-директивные-controller.js
angular.module('some-directive.controller',[]).controller(//declare contrller used by directive);
Есть ли лучший способ? Или один из вышеуказанных вариантов правильный?
Я рекомендую вам взглянуть на Угловой Styleguide Джона Папы https://github.com/johnpapa/angular-styleguide. Он выходит за рамки шаблона для именования материала и дает вам целый мир хороших практик для Angular apps. Он также гибкий, поэтому вы можете адаптировать его к своим предпочтениям. Я использую его в своих проектах, и все идет хорошо. – Hodes