Wallabyjs с Bower и Requirejs (Visual Studio)
Я начал использовать bower в своем веб-приложении и, поскольку я использую wallabyjs для тестирования, я добавил
{ pattern: 'bower_components/**/*.*', instrument: false, load: false }
в мою конфигурацию wallabyjs. Все работает нормально таким образом. Но, как я прочитал в документации веб-пакета, это не совсем рекомендуемый способ:
Более эффективный подход, который мы бы порекомендовали, состоит в том, чтобы вместо этого указать абсолютный путь в вашей конфигурации wallaby для веб-пакета для ваших внешних модулей (а не исходных файлов).
Я пытался добиться чего-то похожего для моего сценария (с requirejs), но не получилось. Мои текущие вопросы:
Каков наилучший способ обработки папки bower_components с помощью requirejs / wallabyjs?
Кажется, что обязательно, чтобы папка bower_components была папкой решения. Как только я говорю "Исключить из проекта" в Visual Studio, мои тесты снова проваливаются.
1 ответ
В случае require.js вам просто нужно сообщить wallaby.js, откуда его внутренний веб-сервер должен обслуживать файлы. Таким образом, вы можете удалить их из вашего files
список и не нужно включать в решение.
Вы можете сделать это, добавив функцию промежуточного программного обеспечения, которая может сопоставить пути веб-сервера с локальными папками:
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.