我现在开始在我的网络应用程序中使用bower,因为我使用wallabyjs进行测试我添加了
{ pattern: 'bower_components/**/*.*', instrument: false, load: false }
到我的wallabyjs配置。这一切都很好。但正如我在webpack documentation中所读到的那样,这并不是推荐的方式:
我们建议的更有效的方法是指定一个 您的小袋鼠配置中的绝对路径 而是外部模块(不是您的源文件)
我试图为我的场景(使用requirejs)实现类似的功能,但失败了。我目前的问题:
使用requirejs / wallabyjs处理bower_components文件夹的最佳方法是什么?
似乎bower_components文件夹必须是解决方案文件夹。我一说“#34;排除项目"在Visual Studio中,我的测试再次失败。
答案 0 :(得分:1)
对于require.js,您只需要让wallaby.js知道其内部Web服务器应该从哪里提供文件。这样您就可以从files
列表中删除它们,而不必包含在解决方案中。
您可以通过添加middleware function来执行此操作,该https://jsfiddle.net/gpLxaj8y/可以将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的方式更改映射。