2014-09-11 2 views
1

Я работаю над приложением AngularJS. Мне нужно создать модуль, который я могу включить в другие проекты. Этот модуль имеет службы и директивы, которые распространяются по нескольким файлам.Разделение модулей на несколько файлов в AngularJS

Here is my plunker

С plunker, вы можете увидеть, что я пытаюсь загрузить модуль так:

var app = angular.module('app', ['my.module']); 

Однако я получаю ошибку, которая говорит:

Module 'my.module' is not available! You either misspelled the module name or forgot 

Тем не менее, я считаю, что я правильно его рассматриваю. Что заставляет меня думать, что я не собираю части модуля правильно. Моя директива службы работала нормально, пока я не попытался поместить их в модуль. Теперь он не работает, и я не уверен, как заставить его работать. Буду признателен за любую помощь, которую я могу получить.

ответ

0

Я думаю, у вас было несколько вещей, смущенных здесь. Вы создавали модуль несколько раз, и вы смешивали имя переменной («приложение») с именем модуля («my.module»). Кроме того, код плунжера не соответствует указанному вами коду.

Во всяком случае, я думаю, что это должно очистить его (plunker):

var app = angular.module('my.module', []); 
app.controller('AppController', ['$scope', function($scope) { 
    $scope.test = ''; 
}]); 

app.service('myService', ['$timeout', '$q', function($timeout, $q) { 
//[etc. 
]}); 

app.directive('myDirective', [function() { 
    //etc. 
    }]);  

Редактировать

Хорошо, я понял ваш код.

Похоже, что plunkr загружает скрипты снизу вверх (?), Поэтому я объявил переменную модуля в myService.js и ссылался на нее в myDirective.js.

New Plunker

+0

На самом деле, я хотел "приложение" и "my.module". Причина, по которой я хотел два отдельных, заключалась в том, чтобы имитировать «my.module», загружаемый в отдельное приложение. – user70192

+0

Gotcha. См. Мой обновленный ответ. –

Смежные вопросы