Webpack 호환성
브라우저 호환성
npm i core-js regenerator-runtime unfetchimport 'core-js/stable'
import 'regenerator-runtime/runtime'
import 'unfetch'module.exports = {
entry: {
polyfills: './src/polyfills/index.js',
main: './src/index.js'
},
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].js'
},
// ...
}<!-- 오래된 브라우저 감지 스크립트 → 폴리필 조건부 로드 -->
<script src="./dist/detect.polyfills.js"></script>
<!-- 메인 모듈 -->
<script src="./dist/main.js"></script>// 모던 브라우저 감지
const isModern = 'fetch' in window && 'assign' in Object
// 모던 브라우저가 아닌 경우
if (!isModern) {
// 동적으로 <script> 요소 생성
const scriptNode = document.createElement('script')
// <script> 요소 속성 설정
scriptNode.async = false
scriptNode.src = './polyfills.js'
// <head> 요소 안쪽 뒤에 삽입 (로딩)
document.head.appendChild(scriptNode)
}module.exports = {
entry: {
'main': './src/index.js',
'polyfills': './src/polyfills/index.js',
'detect.polyfills': './src/polyfills/detect.js'
},
output: {
path: path.resolve(__dirname, './dist'),
filename: '[name].js'
},
// ...
}
브라우저 캐싱

플랫폼 호환성
참고
Last updated