Настройка препроцессора karma ng-html2js для поиска моих шаблонов внутри каталога
Проблема, с которой я сталкиваюсь, заключается в том, что я хочу сделать templateUrl: "partials/my-directive.html"
но в настоящее время я должен сделать его templateUrl: "app/partials/my-directive.html
, чтобы он был загружен кармой.
это моя структура папок (в основном структура папки yomen)
app
partials
my-directive.template.html
directives
my-directive.js
app.js
karma.conf.js
вот код директивы
angular.module("exampleApp")
.directive("adminMod", function () {
return {
restrict: "E",
templateUrl: "app/partials/admin-mod.html",
scope: {
props: "="
}
}
});
heres unit test часть
beforeEach(module("app/partials/admin-mod.html"));
heres the karma.conf.js
files: [
'app/bower_components/jquery/jquery.js',
'app/bower_components/angular/angular.js',
'app/partials/*.html'
],
preprocessors: {
'app/partials/*.html': 'ng-html2js'
},
ngHtml2JsPreprocessor: {
//prependPrefix: ???? what do I make this
},
Я хотел бы сделать url относительно папки приложения не моим karma.conf.file
Я думаю, что я исчерпал каждую комбинацию путей, может кто-нибудь объяснить, что и как это должно работать с файловой структурой генератора Yeoman angular
Ответы
Ответ 1
Проблема заключалась в том, что я пытался использовать
ngHtml2JsPreprocessor: {
prependPrefix: ???? what do I make this
},
но я действительно должен был использовать
ngHtml2JsPreprocessor: {
stripPrefix: 'app/',
},
Затем я могу просто сохранить маршрут относительно папки app/
и потребовать шаблон в качестве модели, подобной этой, в модульных тестах
beforeEach(module("partials/admin-mod.html"));
который является одним и тем же путем в моей директиве
templateUrl: "partials/admin-mod.html",