Как настроить браузер с помощью Karma для использования шаблонов преобразования Stringify для усов?

У меня есть проект, в котором я использую браузер для управления своими зависимостями. Я использую Backbone with Mustache в качестве шаблонизатора на стороне клиента. Чтобы требовать шаблоны Mustache, я должен использовать Stringify, как показано ниже, чтобы правильно требовать шаблоны Mustache:

gulp.task('scripts', function() {
    gulp.src(['./js/app.js'])
        .pipe(browserify({
          transform: stringify({
            extensions: ['.html'], minify: true
          })
        }))
        .pipe(gulp.dest('dist/assets/js')) });

Теперь мои тесты работают на Karma с браузером. Однако, когда я пытаюсь потребовать шаблон, Karma не выдает ошибки синтаксического анализа HTML-файла.

e.g.:

var Template = require('../Templates/CodeEditor.html'); var CodeEditor
= Backbone.View.extend({

    el: '#CodeEdit',

    editor: {},     currentPreviewMode: "default",

    template: function() {
        return Mustache.to_html(Template, this.model.toJSON());
} });

Можно ли настроить Karma для использования Stringify? Если да, то как? Пожалуйста помоги.

Ниже мой конфиг Кара.

module.exports = function(config) {   config.set({
    basePath: './js/',
    frameworks: ['browserify', 'jasmine'],
    browserify: {
      debug: true,
      transform: [ 'brfs', 'browserify-shim']
    },
    files: [
        '**/**/*.js'
    ],

    exclude: [],
    preprocessors: {
      'modules/**/*.js': [ 'browserify' ]
    },
    reporters: ['dots'],
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
     autoWatch: true,
    browsers: [ 'PhantomJS' ],
    singleRun: false   }); };

и часть package.json для справки:

  "devDependencies": {
    "brfs": "^1.4.0",
    "browserify": "^9.0.3",
    "browserify-shim": "^3.8.3",
    "chai": "^2.2.0",
    "del": "^1.1.1",
    "gulp": "^3.8.11",
    "gulp-autoprefixer": "^2.1.0",
    "gulp-browserify": "^0.5.1",
    "jasmine": "^2.2.1",
    "jasmine-core": "^2.2.0",
    "karma": "^0.12.31",
    "karma-browserify": "^4.1.2",
    "karma-chrome-launcher": "^0.1.7",
    "karma-phantomjs-launcher": "^0.1.4",
    "karma-jasmine": "^0.3.5",
    "map-stream": "0.0.5",
    "stringify": "^3.1.0"


  },

  "browserify-shim": {
    "jQuery": "global:jQuery",
    "Backbone": "global:Backbone"
  }

Спасибо


person DamianS1987    schedule 04.04.2015    source источник


Ответы (1)


Проверь это. Может быть, то, что вы ищете.

Просто добавь

browserify: {
    transform: ['stringify']
},

к вашему karma.conf.js (а также убедитесь, что stringify установлен как модуль узла)

https://gist.github.com/busypeoples/e4ec7e7c1f1a753050dd

ОБНОВЛЕНИЯ: вы также можете добавить параметры к самому преобразованию, например

transform: [
    ['stringify', {extensions: ['.java'], minify: true}]
]

https://github.com/Nikku/karma-browserify#transforms

person John Kelly    schedule 05.08.2015