Оптимизация кода под старые браузеры
Babel – это transplitter. Инструмент необходимый для перевода кода в старый формат
Полифилы – это участки кода эмулирующие поведение современных стандартов
npm install --save-dev @babel/core @babel/cli @babel/preset-env
npm install --save @babel/polyfill
В package.json
нужно добавить после "license": "ISC"
:
"license": "ISC",
"browserslist": [
">1%"
],
В файл webpack.config.js
необходимо добавить в раздел module
:
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: [['@babel/preset-env', {
debug: true,
corejs: 3,
useBuiltIns: "usage"
}]]
}
}
}
]
test
– регулярное выражение для поиска файлов которые необходимо перобразовать
corejs
– сообщяем о необходимости библиотеки corejs. useBuiltIns: "usage"
- Проверяем имеющийся код и загружаем только те библиотеки, которые необходимы (а не все что есть).
npm i --save-dev babel-loader
npm i --save-dev core-js