Мне только что был назначен проект на работе, который использует сырой собственный импорт / экспорт (поддерживает только самые последние браузеры), большая часть которого пишется некоторыми консультантами (я не могу их запустить или изменить большие куски проект / набор инструментов). Я предпочитаю запускать свои тесты в node.js везде, где это возможно (используя jsdom при необходимости), и обычно несколько раз в минуту (т.е. они должны быть быстрыми). Я сильно предпочитаю не нажимать на вкладку браузера, чтобы просматривать результаты каждые несколько секунд.
Из-за некоторых технологических решений, сделанных консультантами вопреки нашим пожеланиям (длинная история), я должен использовать mocha и chai для тестов (я привык к Jasmine и Jest), и у них нет настройки тестирования / настройки рабочего процесса тестирования ( опять же, я не могу уволить их из рук).
При поиске я нашел этот вопрос и его ответы. Многие из предложений устарели, или для более старых версий, например. столпотворение.
Наконец-то наступил момент, когда у меня установлены и готовы к работе @ babel / core, @ babel / register и @ / babel / preset-env.
Итак, я
mocha --require @babel/register path/to/test.js
С соответствующей предустановкой в .babelrc, и я получаю
регенераторRuntime не определен
По-видимому, он пытается заполнить async / await, даже если узел его поддерживает.
Мне не нужно , нужно для преобразования каждого аспекта современного синтаксиса, мне нужно только изменить операторы импорта / экспорта на module.exports и require. Я действительно не хочу иметь накладные расходы на дополнительные преобразования / полизаполнения, я просто пытаюсь выполнить некоторые тесты здесь. Я добавил @ babel / polyfill только для того, чтобы он работал, но могу ли я просто настроить его для преобразования только операторов импорта / экспорта?