Настройка препроцессора karma ng-html2js для поиска моих шаблонов внутри каталога

У меня проблема в том, что я хочу сделать templateUrl: "partials/my-directive.html"

но в настоящее время я должен сделать это templateUrl: "app/partials/my-directive.html для того, чтобы это было загружено Кармой.

это моя структура папок (в основном структура папок Yeoman)

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: "="
            }
        }
    });

вот часть модульного теста

     beforeEach(module("app/partials/admin-mod.html"));

вот карма.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. Я думаю, что я исчерпал каждую комбинацию путей, может кто-нибудь объяснить, что и как это должно работать с файловой структурой генератора угловых колебаний Йеомана

1 ответ

Решение

Проблема заключалась в том, что я пытался использовать

ngHtml2JsPreprocessor: {

   prependPrefix: ???? what do I make this 
},

но то, что я действительно должен был использовать,

ngHtml2JsPreprocessor: {
    stripPrefix: 'app/',
},

Тогда я могу просто сохранить маршрут относительно app/ папку и требуют шаблон в качестве модели, как это в модульных тестах

beforeEach(module("partials/admin-mod.html"));

это тот же путь в моей директиве

templateUrl: "partials/admin-mod.html",
Другие вопросы по тегам