์ต์ข ๋ฐฐํฌ๊น์ง ์๋ฃํ๋๋ฐ, IE์ Safari์์ javascript๊ฐ ์๋ํ์ง ์์ ์์ํ๊ธฐ ๋ฒํผ์ด ๋๋ฆฌ์ง ์์๋ค.
๋ฌธ์ ์์ธ
1. ์นํฉ์์ ๋ฐ๋ฒจ ์ค์ ๊ฐ์ผ๋ก ๋ฒ๋ค๋งํ ๋ target๊ฐ์ ๊ตฌ๋ฒ์ ๊น์ง ๋ช ์ํ์ง ์์๋ ์
2. ์ ๊ทํํ์์ ๋ฐ๋ฒจ์ด es5์ฝ๋๋ก ๋ณํํ์ง ๋ชปํ๋ ์
1๋ฒ ํด๊ฒฐ์ฑ
์ธ ๊ฐ์ง ํ์ผ์์ ์์ ์ด ํ์ํ๋ค.
1) .babelrc
{
"presets": [
[
"@babel/preset-env",
{
"targets": "> 0.25%, not dead",
"useBuiltIns": "entry",
"corejs": 3,
"debug": true
}
]
],
"plugins": [["@babel/plugin-transform-runtime", { "corejs": 3 }]]
}
targets๋ถ๋ถ์ ๋ช ์๋ ์ฝ๋๋ ํ์ฌ ์ ์ ์จ์ด 0.25%์ธ ์ด์์ธ ๋ธ๋ผ์ฐ์ ๋ ๋ชจ๋ ์ง์ํ๊ฒ ๋ณํํ๋ผ๋ ์ฝ๋๋ค.
2) webpack.config.js
module.exports = {
entry: ["core-js/stable", "regenerator-runtime/runtime", ENTRY_FILE],
target: ["web", "es5"],
};
3) package.json
{
"browserslist": "defaults"
}
2๋ฒ ํด๊ฒฐ์ฑ
์ ๊ท์ ๋ฆฌํฐ๋ด ๊ฐ์ฒด๋ฅผ ํ์ฉํ๋ RegExp ์์ฑ์๊ฐ ๋ชจ๋ ๋ธ๋ผ์ฐ์ ์์ ์ง์๋๋ ๊ฒ ์๋์๋ค.
๋ค๋ฅธ ์ ๊ทํํ์์ ์ฌ์ฉํ๋ค.
๋ฐ์ํ