Подтвердить что ты не робот

Есть ли какая-либо практическая разница между использованием babel-runtime и babel- polyfill при * не * разработке библиотеки? (например, веб-приложение)

Все это в названии, действительно.

В документации Babel на странице описывающей время загрузки babel, есть следующая строка

Другая цель этого трансформатора - создать изолированную среду для вашего кода. Встроенные функции, такие как Promise, Set и Map, вытесняются с помощью core-js, поэтому вы можете использовать их без проблем, не требуя глобального загрязнения polyfill.

polyfill - это только отдельный файл JavaScript, который включает в себя некоторые пропущенные вещи.

Я тестировал polyfill по сравнению с использованием функции babel-runtime с моими инструментами построения (webpack), а мои файлы немного меньше, когда я использую runel-runtime.

Я не разрабатываю библиотеку или плагин, просто веб-приложение, а также не заботятся о загрязнении глобальной области. Зная это, кроме немного меньшего финального файла, есть ли другие практические преимущества или точки в использовании времени выполнения над polyfill?

4b9b3361

Ответ 1

Если вы не заботитесь о загрязнении глобальной области видимости, polyfill - лучший вариант: среда выполнения не работает с такими методами экземпляра, как [0, 1, 2].includes(1), а polyfill будет.

Основное различие между ними состоит в том, что polyfill загрязняет глобальную область видимости и работает с методами экземпляра, тогда как среда выполнения не загрязняет глобальную область и не работает с методами экземпляра.

polyfill также не позволит вам включить в свой код две отдельные версии. Это только проблема, если в вашем коде требуется/импортировано два отдельных полина.