Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
7 / 7 / 1
Регистрация: 03.09.2021
Сообщений: 271

Webpack - babel - Не работают полифилы в Webpack

11.03.2025, 11:50. Показов 1350. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему-то не работают полифилы в Webpack:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
options: {
"presets": [
[
"@babel/preset-env",
   {
     "useBuiltIns": "entry",
     "corejs": "3.41"
   }
  ]
 ]
 }

В package.json
JavaScript
1
2
3
4
"browserslist": [
    "last 15 versions",
    "> 0.25%"
  ],
Также установил в dependencies

JavaScript
1
2
3
"dependencies": {
    "core-js": "^3.41.0"
  }
Но такого рода запись никак не преобразовывается, хотя для
Object.keys есть свой полифил.

JavaScript
1
2
3
4
5
6
7
let obj_test = {
    "key": '123',
    "key-2": '123',
    "key-3": '123'
};
 
Object.keys(obj_test);
Что не так?
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.03.2025, 11:50
Ответы с готовыми решениями:

TypeScript вместо babel и webpack
Создал tsconfig.json При помоще него можно транслировать esnext в es5, это хорошо работает, но не могу понять как собирать модули? ...

Ошибка с Babel при сборке Webpack
При сборке проекта получаю ошибку: ERROR in ./app.js Module build failed (from ../node_modules/babel-loader/lib/index.js): ...

Отображение исходного кода js в DevTools Google chrome после обработки webpack и Babel
Всем доброго времени суток. Изучаю Web разработку. Столкнулся с проблемой. После того как код пройдет сборку Webpack-ом, его сложно...

6
 Аватар для voraa
1276 / 1242 / 185
Регистрация: 21.01.2024
Сообщений: 5,734
11.03.2025, 22:53
Цитата Сообщение от targon_kp Посмотреть сообщение
Но такого рода запись никак не преобразовывается, хотя для
Object.keys есть свой полифил.
А во что должно преобразовываться?
Надо просто смотреть, что вызывается - встроенная функция или полифильная.
0
7 / 7 / 1
Регистрация: 03.09.2021
Сообщений: 271
12.03.2025, 00:47  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
А во что должно преобразовываться?
ну судя по всему полифил выглядит следующим образом https://gist.github.com/jonfalcon/4715325.
Либо просто с учётом моего списка браузеров данный Object.keys поддерживается во всех браузерах последних 15 версий.
А в целом всё верно же - добавил для полифилов:
JavaScript
1
2
"useBuiltIns": "entry",
     "corejs": "3.41"
0
 Аватар для voraa
1276 / 1242 / 185
Регистрация: 21.01.2024
Сообщений: 5,734
12.03.2025, 06:55
Цитата Сообщение от targon_kp Посмотреть сообщение
ну судя по всему полифил выглядит следующим образом https://gist.github.com/jonfalcon/4715325.
Ну да. Этот полифил должен куда то вставляться, находиться в какой то библиотеки. Но сам вызов Object.keys(obj_test); ни во что преобразовываться не будет.
1
7 / 7 / 1
Регистрация: 03.09.2021
Сообщений: 271
12.03.2025, 11:47  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Этот полифил должен куда то вставляться
То есть автоматом Babel его преобразовывать не будет? Учитывая что установлен core-js - оттуда же по идее должны подтягиваться полифилы?
0
 Аватар для voraa
1276 / 1242 / 185
Регистрация: 21.01.2024
Сообщений: 5,734
12.03.2025, 12:17
Лучший ответ Сообщение было отмечено targon_kp как решение

Решение

Цитата Сообщение от targon_kp Посмотреть сообщение
То есть автоматом Babel его преобразовывать не будет?
Так его не во что преобразовывать. Полифил - это функция, которая используется, если нет нативной.
core-js смотрит, существует ли функция Object.keys. Если такая функция есть - все хорошо, ничего делать не надо. Если Object.keys === undefined то делается
JavaScript
1
Object.keys = function (o) {/* реализуем нужный функционал */}
При этом в своем коде вы пишете Object.keys(o) не зависимо от того, есть нативная в браузере или нет. Если есть - вызовется нативная, если нет - вызовется та, которую предоставил core-js
1
7 / 7 / 1
Регистрация: 03.09.2021
Сообщений: 271
13.03.2025, 00:22  [ТС]
Цитата Сообщение от voraa Посмотреть сообщение
Если есть - вызовется нативная, если нет - вызовется та, которую предоставил core-js
То есть благодаря этой настройке
JavaScript
1
2
3
4
5
6
7
@babel/preset-env",
   {
     "useBuiltIns": "entry",
     "corejs": "3.41"
   }
  ]
 ]
core-js автоматом будет подставлять нужный полифил, если браузер оч старый и в нем нет поддержки современных js методов, верно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2025, 00:22
Помогаю со студенческими работами здесь

Как мигрировать с Webpack 3 на Webpack 5
Здравствуйте, меня зовут Анатолий, я учусь на айтишника по программной инженерии. Бьюсь над миграцией с Webpack 3 на Webpack 5. Получить...

Webpack webpack-dev-server
После изменения sass файла сообщает об обновлении модуля в жс файле, но стили только после ф5 меняются. А когда сам жс файл меняю то...

Как заставить webpack собирать один пакет в node_modules через babel
Всем привет! Поставил приложение через create-react-app, распаковал конфиги через eject. Установил один пакет (называется srk) но...

Webpack
https://github.com/YevhenTarashchyk/MID_project объясню суть проблемы. Когда запускаю index.html c папки dist не работает url в css , но...

Webpack
Доброго времени народ. Помогите пожалуйста с такой загвоздкой, уже весь мозг вывихнул. Пытаюсь заставить работать tsx с webpack. Прописал...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru