Простое решение, откройте ваш исходный код в редакторе, который может просмотреть все файлы, которые я использую VSCode, и установить игнорирование в папке node_modules, и я должен регулярно заменять все файлы, если вам нужен множественный экспорт, ниже .
RegEx way
Поиск:
import[\s*]([a-zA-Z0-9,]*)[\s*]from[\s*]['|"]([a-zA-Z0-9\{\},\.\/\\]*)['|"][\s*]
заменить на
const $1 = require('$2')
если вы используете as
, сделайте это также.
Искать:
import[\s*][a-zA-Z0-9,]*[\s*]as[\s*]([a-zA-Z0-9]*)[\s*]from[\s*]['|"]([a-zA-Z0-9\{\},\.\/\\]*)['|"][\s*]
заменить на
const $1 = require('$2')
здесь есть некоторые недостатки: вы не можете использовать несколько экспортов, которые вам нужны. Полный путь
Долгий путь
Хорошо, так что для всех, кто заинтересован, вот процесс, который я использовал для этого, вы можете затем скопировать ваш источник из папки сборки в новое место в качестве нового источника или перезаписать ваш старый src и удалить все babel из вашего проекта (npm prune
).
Это оставит все вспомогательные средства, в которых нуждается модуль, включая поддержку экспорта по умолчанию. _interopRequireDefault()
Единственный способ избавиться от этого - создать собственный плагин, который этого не делает.
Шаг 1
Определите, что использовала бабушка ECMA для этого. Итак, я пошел к https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/import
показывает, что импорт был частью спецификации начиная с ES6 (также известной как ECMA2015)
Шаг 2
Предустановки - это просто группы пакетов, поэтому идентифицируйте пакет для этой конкретной транспиляции.
Открыл мой package.json и искал babel-preset-es2015
нашел его. пошел к node_moduels \ babel-preset-es2015, открыл его package.json, чтобы найти
"babel-plugin-transform-es2015-modules-amd": "^6.24.1",
"babel-plugin-transform-es2015-modules-commonjs": "^6.24.1",
"babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
"babel-plugin-transform-es2015-modules-umd": "^6.24.1",
Шаг 3
Некоторое тестирование с использованием аргумента --plugins=
для babel Я проверил, что каждый из них делал на небольшом наборе из 2 файлов, один из которых требовал другого, и протестировал каждый, который я разработал. Это была версия commonjs, которая была необходима для * 1057. *
Шаг 4
сделать преобразование
Убедитесь, что у вас установлены следующие модули узлов babel-cli, babel-core, babel-plugin-transform-es2015-modules-commonjs
Затем запустите CLI и сделайте,
babel --plugins=transform-es2015-modules-commonjs ./src/ --out-dir build/
взято из https://babeljs.io/docs/en/babel-cli