Я не могу заставить Karma работать для директив с внешними шаблонами.
Вот мой конфигурационный файл кармы:
preprocessors: {
'directives/loading/templates/loading.html': 'ng-html2js'
},
files: [
...
'directives/loading/templates/loading.html',
]
ngHtml2JsPreprocessor: {
prependPrefix: '/app/'
},
В файле директивы:
...
templateUrl: '/app/directives/loading/templates/loading.html'
...
В спецификационном файле:
describe('Loading directive', function() {
...
beforeEach(module('/app/directives/loading/templates/loading.html'));
...
});
Я получаю следующую ошибку:
Не удалось создать экземпляр модуля /app/directives/loading/templates/loading.html из-за: Ошибка: нет модуля:/app/directives/loading/templates/loading.html
Если я модифицирую исходный код препроцессора karma-ng-html2js, чтобы напечатать результат сгенерированный файл, я получаю:
angular.module('/app/directives/loading/templates/loading.html', []).run(function($templateCache) {
$templateCache.put('/app/directives/loading/templates/loading.html',
'<div ng-hide="hideLoading" class="loading_panel">\n' +
' <div class="center">\n' +
' <div class="content">\n' +
' <span ng-transclude></span>\n' +
' <canvas width="32" height="32"></canvas>\n' +
' </div>\n' +
' </div>\n' +
'</div>');
});
Итак, кажется, что сгенерированный JS файл правильный, но не загруженный кармой...
Кроме того, если я использую debug на уровне журнала, вот строки, связанные с шаблоном:
DEBUG [preprocessor.html2js]: Обработка "/home/rightink/public_html/bo2/master/web/app/directives/loading/templates/loading.html"
DEBUG [наблюдатель]: разрешенные файлы:
/correct/path/to/the/app/directives/loading/templates/loading.html.js
Я что-то пропустил?
Спасибо,