我正在尝试调试我的业力设置如何不预处理我的指令模板。
我希望通过设置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
});
};
答案 0 :(得分:2)
我是否缺少任何调试选项/方法?有没有 记录ng-html2js内容/出来的方法?
是; karma start --log-level debug
将显示DEBUG [preprocessor.html2js]
条目。但是,如果files
路径和preprocessors
模式正确无误,您只会获得这些条目。
答案 1 :(得分:1)
这似乎是路径问题,因为当我将基本路径basePath: '../'
添加到我的karma配置并调整我的files:
路径时,预处理器工作正常。