angularjs – karma-ng-html2js-preprocessor not working gulp
发布时间:2020-12-17 09:18:06 所属栏目:安全 来源:网络整理
导读:我无法使karma-ng-html2js-preprocessor适用于外部模板. 包Json文件: ..... "gulp-karma": "*","karma-coverage": "*","karma-jasmine": "*","karma-ng-html2js-preprocessor": "*","karma-phantomjs-launcher": "*",..... Karma配置文件: config.set({ br
我无法使karma-ng-html2js-preprocessor适用于外部模板.
包Json文件: ..... "gulp-karma": "*","karma-coverage": "*","karma-jasmine": "*","karma-ng-html2js-preprocessor": "*","karma-phantomjs-launcher": "*",..... Karma配置文件: config.set({ browsers: [ .... ],frameworks: [ 'jasmine' ],plugins: [ 'karma-jasmine','karma-phantomjs-launcher','karma-ng-html2js-preprocessor' ],preprocessors: { 'app/**/*.html': 'ng-html2js' },ngHtml2JsPreprocessor: { stripPrefix: 'app/' } }); 文件在Build文件中定义并传递给gulp-karma.以下是已定义的文件: config = { test: { configFile: '.../karma.conf.js',depends: [ ....... ],files: [ "app/**/*.js",'app/**/*.html' ] } } 在我的指令规范中加载模板,如下所示: beforeEach(module('app')); beforeEach(module('app/tem/mytemp.html')); 我收到以下错误: Error: [$injector:modulerr] Failed to instantiate module app/tem/mytemp.html due to: Error: [$injector:nomod] Module 'app/tem/mytemp.html' is not available! You either misspelled the 在karma中,debug.html html文件加载在链接标记输出中: <script type="text/javascript" src="/absoluteC:.../app/tem/comp/mydirective.js"></script> <link href="/absoluteC:..../app/tem/mytemp.html" rel="import"> <script type="text/javascript"> window.__karma__.loaded(); 我错过了什么吗?如何调试并继续解决此问题?
这是我如何解决完全相同的问题:
1)npm install karma-ng-html2js-preprocessor –save-dev(你已经完成了) 2)在karma.config.js中: // .... preprocessors: { '**/*.html': ['ng-html2js'] },// .... ngHtml2JsPreprocessor: { stripPrefix: 'app/',// <-- change as needed for the project // include beforeEach(module('templates')) in unit tests moduleName: 'templates' },plugins : [ 'karma-phantomjs-launcher','karma-jasmine','karma-ng-html2js-preprocessor' ] 3)由于gulp-karma覆盖了karma.conf.js的files属性,因此更改了测试设置的gulp任务配置(我有两个:一个测试运行测试一次,另一个调用tdd进行连续测试)这样的事情: gulp.task('test',function() { var bowerDeps = ... var testFiles = bowerDeps.js.concat([ 'app/scripts/**/*.js','test/unit/**/*.js','app/**/*.html' // <-- This is what you need to add to load the .html files ]); return gulp.src(testFiles) .pipe($.karma({ configFile: 'test/karma.conf.js',action: 'run' })) .... }); 希望这会对某人有所帮助. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |