2015-03-02 77 views
1

我正在嘗試使用業力編寫單元測試。我的申請,我已經通過亭子安裝Karma爲Angular和JQuery映射文件拋出「Uncaught SyntaxError:Unexpected token:」

"dependencies": { 
    ..... 
    "angular": "1.2.16", 
    ..... 
    "jquery": "~1.11.2", 
    ..... 
} 

這裏AngularJS和JQuery與其中包含一些設置鍵值對的.MAP文件中捆綁的角度和JQuery的依賴。要將這些映射文件加載到Karma中,我找到了一個名爲karma-sourcemap-loader的插件。我已經使用了以下配置因緣即karma.conf.js

files: [ 
     {pattern: 'vendor/jquery/dist/jquery.min.js',included:true}, 
     {pattern: 'vendor/jquery/dist/jquery.min.map',watched: true, served: true, included: true}, 
     {pattern: 'vendor/angular/angular.min.js',included:true}, 
     {pattern: 'vendor/angular/angular.min.js.map',watched: true, served: true, included: true}, 
     ...... 
    ], 
    preprocessors: { 
     '**/*.js': ['sourcemap'] 
    }, 

當我檢查了鉻,控制檯已經打印出以下錯誤
Resource interpreted as Script but transferred with MIME type text/plain: "http://localhost:9876/base/vendor/angular/angular.min.js.map?5ff6288d0408a1b41c74b7bd7541d68865d1e3f9

在控制檯它顯示了
Uncaught SyntaxError: Unexpected token :爲Chrome

SyntaxError: Parse error爲PhantomJS

而且我使用RequireJS導入文件。任何人都可以通過提供一個適當的方式來包括地圖文件在業力中幫助我嗎?

回答

0

我發現我的一位朋友曾經使用RequireJS來加載JQuery和AngularJS。現在,當我嘗試使用具有業力的RequireJS配置文件時,縮小版本也被加載。這造成了業力問題。所以我利用了test-main.jsKarma RequireJS Doc),並且我自己添加了對require-config.js的要求。因此,所有的依賴關係會被require-config.js

require(['/base/<path>/require-config.js'], function(){ 
     ......... 
     ......... 
     require.config({ 
      baseUrl: /base, 
      deps: allTestFiles, 
      callback: window.__karma__.start 
     }); 
} 

裝起來感謝大家在看看這個問題。

相關問題