2016-03-21 78 views
1

我現在開始使用我的web應用程序中的涼亭和我使用wallabyjs測試我加入Wallabyjs與鮑爾和Requirejs(Visual Studio中)

{ pattern: 'bower_components/**/*.*', instrument: false, load: false } 

我wallabyjs配置。一切工作都很好。但正如我在webpack documentation讀過這是不是真的推薦的方式:

,我們會建議更有效的方法是指定您的 外部模塊在袋鼠配置的WebPack的 絕對路徑(不是你的源文件)而不是

我試過爲我的場景(與requirejs)實現類似的東西,但失敗了。我當前的問題:

  • 什麼是使用requirejs/wallabyjs處理bower_components文件夾的最佳方法?

  • 似乎強制文件夾bower_components是解決方案文件夾。只要我在Visual Studio中說「從項目中排除」,我的測試再次失敗。

回答

1

在require.js的情況下,您只需讓wallaby.js知道其內部Web服務器應該從哪裏提供文件。通過這種方式,您可以將它們從您的files列表中刪除,而不必包含到解決方案中。

您可以通過添加一個middleware function,可以在Web服務器路徑映射到本地文件夾做到這一點:

module.exports = function() { 
    return { 
    files: [ 
     ... 
    ], 

    tests: [ 
     ... 
    ], 

    // telling wallaby to serve bower_components project folder 
    // ‘as is’ from the wallaby.js web server 
    middleware: (app, express) => { 
     app.use('/bower_components', 
       express.static(
        require('path').join(__dirname, 'bower_components'))); 
    } 
    }; 
}; 

您可能需要根據您如何應用程式所要求bower_components更改映射。

+0

這是否也可以用json格式定義? – timtos

+1

不,函數只能在JS中定義。將JSON配置文件移至JS非常簡單:只需創建一個具有相同名稱的JS文件,添加'module.exports = function(){return ...;}'並粘貼當前的JSON而不是' ...'。 –