Karma ng-html2js预处理器不生成模块

时间:2014-11-06 23:44:20

标签: angularjs

我正在尝试调试我的业力设置如何不预处理我的指令模板。

我希望通过设置moduleName: foo,我可以轻松地在Chrome调试控制台中获取该模块并查看其中的内容,但在调试中尝试angular.module('foo')会返回no module found错误让我相信这个问题在其他地方。

我还尝试将html预处理器更改为一些无意义的字符串,希望业力会引发错误,但事实并非如此。这导致我认为问题可能在于没有正确的模板路径,但如果我将该路径更改为其他内容,则会抛出错误no files match this path

我是否缺少任何调试选项/方法?有没有办法记录ng-html2js中的内容?

这是我的karma.conf.js

module.exports = function(config) {
  config.set({
    plugins: [
      // these plugins will be require() by Karma
      'ng-html2js',
      'jasmine',
      'karma-jasmine',
      'karma-phantomjs-launcher',
      'karma-chrome-launcher'
    ],
    basePath: '',
    // frameworks to use
    frameworks: ['jasmine'],
    files: [
      APPLICATION_SPEC,
      '../app/assets/javascripts/image-crop.js',
      '../app/assets/javascripts/angular/**/*.js',
      '../spec/javascripts/**/*_spec.js',
      "../public/templates/**/*.html"
    ],
    exclude: [
      './app/bower_components/angular/angular.min.js'
    ],
    reporters: ['progress'],
    preprocessors: {
      '**/*.html': ['ng-html2js']
    },
    ngHtml2JsPreprocessor: {
      stripPrefix: 'public/templates',
      moduleName: 'foo',
    },
    port: 9876,
    colors: true,
    logLevel: config.LOG_INFO,
    autoWatch: true,


    browsers: ['PhantomJS', 'Chrome'],
    singleRun: false
  });
};

2 个答案:

答案 0 :(得分:2)

  

我是否缺少任何调试选项/方法?有没有   记录ng-html2js内容/出来的方法?

是; karma start --log-level debug将显示DEBUG [preprocessor.html2js]条目。但是,如果files路径和preprocessors模式正确无误,您只会获得这些条目。

答案 1 :(得分:1)

这似乎是路径问题,因为当我将基本路径basePath: '../'添加到我的karma配置并调整我的files:路径时,预处理器工作正常。