2015-04-04 79 views
0

我有一个项目,我正在使用browserify来管理我的依赖关系。我在客户端使用带Mustache的Backbone作为模板引擎。要求小胡子模板,我必须使用Stringify类似下面的正确要求髭模板:如何使用Karma配置browserify来为小胡子模板使用变换Stringify?

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

现在,我的测试是在因果报应与browserify运行。但是,当我试图要求模板Karma失败时抛出HTML文件解析错误。

例如为:

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()); 
} }); 

是否有可能噶配置为使用字符串化?如果是这样如何?请帮忙。

下面是我的卡拉配置。

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" 
    } 

谢谢

回答