2013-04-29 94 views
10

我是一個完全noob與茉莉花和RequireJS所以任何幫助表示讚賞。配置Grunt,Jasmine和RequireJS在一起

我們有以下的目錄結構

/assets 
     /libs <- populated by Jam 
     /scripts 
/tests 

我試圖建立茉莉花+步兵+ RequireJS但是運行我的測試中我不斷收到以下錯誤,當我運行我的任務咕嚕咕嚕茉莉花我審查了RequireJS網站上的錯誤,但在我看來一切都已到位。

Error: scripterror: Illegal path or script error: ['scripts/MyModule'] 

這裏是我的茉莉花設置在我gruntfile.js

jasmine: { 
    src: 'assets/scripts/**/*.js', 
    options: { 
     specs: 'tests/*spec.js', 
     template: require('grunt-template-jasmine-requirejs'), 
     templateOptions: { 
      requireConfig: { 
       baseUrl: '/assets', 
       paths: { 
       'jquery': 'libs/jquery/dist/jquery' 
       } 
      } 
     } 
    } 

這是一個死了簡單的測試規範 :)

require(['scripts/MyModule'], function (myModule) { 
    'use strict'; 

    describe('A suite', function() { 
     it('should pass this test', function() { 
      expect(myModule).not.toBe(null); 
     }); 
    }); 
}); 

RequireJS工作正常,在我的項目,這裏是我爲此運行的設置...

<script> 
var require = 
{ 
    baseUrl: '/assets' 
}; 
</script> 
<script src="/assets/libs/require.js"></script> 

我在哪裏出錯了,我該怎麼辦才能修復它?

回答

10

嗯,我得到了它運行,不得不做出的茉莉花配置以下變化在我Gruntfile.js

baseUrl: './assets/' 

它需要一步一個目錄了。

+0

你可以接受你自己的答案。這對未來的參考很有用! – thomaux 2013-06-12 11:36:48

+0

對於後人:'.'表示當前目錄,'..'在一個目錄中。如果你用'/'開始一個路徑,它將會進入根級。在客戶端意味着根URL,在服務器端是文件系統根路徑。 – Spoike 2013-08-26 09:10:56

2

當您指定Grunt Jasmine's使用/assets作爲您的基本路徑時,它將查看您絕對的/assets路徑,這意味着您將會咕to地看着您的文件系統根路徑。