Абсолютные Пути с Глотком Мокко и Browserify

У меня есть проект, который использует Browserify и ES6 для обработки импорта и определения пакетов. В проекте используются абсолютные пути с использованием опции 'paths' при сборке с Gulp-Browserify.

Это прекрасно работает для исходного кода, но сейчас я пытаюсь написать тесты с Mocha и запустить их с помощью gulp-mocha, и это вызывает проблемы. Mocha ожидает относительные пути, но если я дам ему относительный путь к файлу, который имеет другой импорт, использующий абсолютные пути, тестирование не будет выполнено с ошибкой MODULE_NOT_FOUND.

например

Mocha Import at test/actions/user.js:
      import createUser from '../../src/actions/user';
      ...

Source Import at src/actions/user.js:
      import CREATE_USER from 'constants/use
      ...

вызовет MODULE_NOT_FOUND_ERROR

Что мне интересно, так это то, есть ли какой-нибудь способ установить список абсолютных путей в mocha, аналогичный тому, который вы можете использовать для browserify?

1 ответ

Решение

Вы можете использовать app-require-path. Просто установите его как dev dep и добавьте следующие два файла:

тест /mocha.opts

--require test/_bootstrap.js

тест /_bootstrap.js

require('app-require-path')(__dirname + '/..');

И это все. Вы можете изменить путь в _bootstrap.js на любой другой. Вы также можете добавить несколько путей. Тебе решать.

Другие вопросы по тегам