Ответ 1
В этих ситуациях вы считали, что документы больше не помогут вам, очень хороший способ учиться - это посмотреть на другие модули уже готовой сборки и посмотреть, как это сделали другие, как они спроектировали архитектуру и как они интегрировали их в свое приложение.
Посмотрев на то, что делали другие, вы должны иметь хотя бы отправную точку.
Например, посмотрите на любой angular ui module, и вы увидите много настраиваемых модулей.
Некоторые определяют только одну директиву, в то время как другие определяют больше вещей.
Как @nXqd, основной способ создания модуля:
// 1. define the module and the other module dependencies (if any)
angular.module('myModuleName', ['dependency1', 'dependency2'])
// 2. set a constant
.constant('MODULE_VERSION', '0.0.3')
// 3. maybe set some defaults
.value('defaults', {
foo: 'bar'
})
// 4. define a module component
.factory('factoryName', function() {/* stuff here */})
// 5. define another module component
.directive('directiveName', function() {/* stuff here */})
;// and so on
После определения вашего модуля очень легко добавить к нему компоненты (без необходимости хранить ваш модуль в переменной):
// add a new component to your module
angular.module('myModuleName').controller('controllerName', function() {
/* more stuff here */
});
И часть интеграции довольно проста: просто добавьте ее как зависимость от вашего модуля приложения (здесь, как angular ui делает это).
angular.module('myApp', ['myModuleName']);