Абсолютные Пути с Глотком Мокко и 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 на любой другой. Вы также можете добавить несколько путей. Тебе решать.