У меня очень старая кодовая база javascript, и я не хочу использовать современный способ компиляции всех файлов javascript в один с помощью стандартного веб-пакета, поскольку это невозможно из-за того, как написан код веб-сайта.
Но я хочу писать новые сценарии с использованием современного Javascript (например, Promises и Fetch), но при этом иметь возможность поддерживать старые браузеры, такие как IE11.
Я настроил webpack и babel таким образом, чтобы он получал файлы JavaScript с несколькими входами, и для каждого из них выполнялась классическая транспиляция/полифиллинг с использованием @babel/preset-env
и corejs
.
Это работает и заполняет каждый скрипт на основе целевой конфигурации Babel, но создает одну проблему. Он инкапсулирует глобальные переменные/функции в скрипт, поэтому они недоступны из других скриптов, которые на них ссылаются (да, старый javascript). Есть ли способ отключить эти структурные модификации?
Также я знаю, что мог бы использовать для этого только Babel без Webpack, но проблема в том, что когда я пытаюсь выполнить полифилл, например. Fetch Мне нужно использовать https://github.com/github/fetch, который нельзя просто использовать с Babel afaik.
Любая помощь приветствуется.
death-to-ie11.com