`core-js` с`@babel/preset-env` добавляет ненужные полифиллы и пучки раздуванияJavascript

Форум по Javascript
Ответить
Anonymous
 `core-js` с`@babel/preset-env` добавляет ненужные полифиллы и пучки раздувания

Сообщение Anonymous »

Я работаю над веб -проектом, созданным из корпоративного каркаса с использованием webpack v5 и babel . Целевая среда составляет chrome ≥ 138 только .
Однако я заметил, что сборка включает в себя ненужные многофиллы, даже если проект должен поддерживать только недавние хромированные версии. После включения опции отладки в @babel/preset-env :

Код: Выделить всё

[
'@babel/preset-env',
{
modules: false,
+    debug: true,
useBuiltIns: 'usage',
corejs: { version: "3.8", proposals: true }
}
],
Вывод отладки показывает, что Babel считает, что Chrome 138 по -прежнему требует полифиллов для набора , таких как интерсекция , разница и symmetric -difference :

Код: Выделить всё

Based on your code and targets, the corejs3 polyfill did not add any polyfill.

[/***/components/tooltip/style/index.ts]
Based on your code and targets, the corejs3 polyfill did not add any polyfill.

[/***/packages/utils/arrays.ts]
The corejs3 polyfill added the following polyfills:
esnext.set.add-all { "chrome":"138" }
esnext.set.delete-all { "chrome":"138" }
esnext.set.difference { "chrome":"138" }
esnext.set.every { "chrome":"138" }
esnext.set.filter { "chrome":"138" }
esnext.set.find { "chrome":"138" }
esnext.set.intersection { "chrome":"138" }
esnext.set.is-disjoint-from { "chrome":"138" }
esnext.set.is-subset-of { "chrome":"138" }
esnext.set.is-superset-of { "chrome":"138" }
esnext.set.join { "chrome":"138" }
esnext.set.map { "chrome":"138" }
esnext.set.reduce { "chrome":"138" }
esnext.set.some { "chrome":"138" }
esnext.set.symmetric-difference { "chrome":"138" }
esnext.set.union { "chrome":"138" }

[/***/packages/utils/animation.ts]
Based on your code and targets, the corejs3 polyfill did not add any polyfill.
Но в соответствии с Caniuse эти функции уже являются базовой линией:
https://caniuse.com/mdn-javascript_buil ... difference написанного/>
Примечание: Babel-Loader, @babel/preset-env, @babel/polyfill, core-js, caniuse-lite, Browesslist все обновлены до последней версии. @babel/preset-env + core-js из включения этих ненужных полифиллов для современного хрома? Есть ли рекомендуемый способ решить эту проблему, кроме как отключить UseBuiltins полностью?

Подробнее здесь: https://stackoverflow.com/questions/797 ... ats-bundle
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»