#javascript #angularjs
#javascript #angularjs
Вопрос:
Мой процесс развертывания узла / angular компилирует мои угловые шаблоны, используя html2js
. Он создает файл javascript с результатами и определяется как модуль:
angular.module('myapp-templates', ['/templates/display', '/templates/editor', '/templates/list', '/templates/login', '/templates/pagination', '/templates/signup']);
Чтобы правильно включить их, мне пришлось бы добавить myapp-templates
в качестве зависимости к фактическому модулю приложения.
Однако в режиме разработки myapp-templates
модуль не будет существовать, поэтому angular выдает ошибку. Есть ли лучший способ загрузить dep или структурировать модули, чтобы он мог работать в любом режиме?
Комментарии:
1. Используете ли вы grunt в качестве системы сборки?
2. ДА. На данный момент я использую пользовательскую оболочку angular.module, которая объединяет их, если она уже существует. Он работает нормально, я бы предпочел не полагаться на его перегрузку таким образом.
3. У меня такая же проблема с использованием grunt-angular-templates ( github.com/ericclemmons/grunt-angular-templates ). Настройки по умолчанию в этом пакете фактически добавляют шаблоны в $templateCache с a
.run
в главном модуле приложения, что решит вашу проблему. К сожалению, у меня возникли проблемы с этим, и я думаю, что в любом случае лучше иметь отдельный модуль, поэтому я сделал что-то уродливое, но это работает.try { angular.module('templates') } catch(err) { angular.module('templates', []);}