อัปเดต : วิธีการสร้าง - ตอบสนองต่อแอป polyfill และเอกสารมีการเปลี่ยนแปลงตั้งแต่คำถาม / คำตอบนี้ ตอนนี้คุณควรรวมreact-app-polyfill
( ที่นี่ ) หากคุณต้องการรองรับเบราว์เซอร์รุ่นเก่าเช่น ie11 อย่างไรก็ตามนี่รวมเฉพาะ " ... ข้อกำหนดขั้นต่ำและคุณลักษณะภาษาที่ใช้กันทั่วไป " ดังนั้นคุณจะยังคงต้องการใช้วิธีใดวิธีหนึ่งด้านล่างนี้สำหรับคุณลักษณะ ES6 / 7 ที่ไม่ค่อยพบบ่อย (เช่นArray.includes
)
สองวิธีนี้ใช้ได้ผลทั้งสองอย่าง:
1. การนำเข้าด้วยตนเองจาก react-app-polyfill และ core-js
ติดตั้งreact-app-polyfillและcore-js (3.0+):
npm install react-app-polyfill core-js
หรือ yarn add react-app-polyfill core-js
สร้างไฟล์ชื่อ polyfills.js และนำเข้าไฟล์ root index.js จากนั้นนำเข้า polyfills ปฏิกิริยาแอปพื้นฐานพร้อมคุณสมบัติที่จำเป็นเฉพาะเช่น:
import 'react-app-polyfill/ie11';
import 'core-js/features/array/find';
import 'core-js/features/array/includes';
import 'core-js/features/number/is-nan';
import './polyfills'
...
2. บริการโพลีฟิลล์
ใช้polyfill.io CDN เพื่อดึงโพลีฟิลล์เฉพาะเบราว์เซอร์ที่กำหนดเองโดยเพิ่มบรรทัดนี้ใน index.html:
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=default,Array.prototype.includes"></script>
โปรดทราบว่าฉันต้องร้องขอArray.prototype.includes
คุณลักษณะอย่างชัดเจนเนื่องจากไม่รวมอยู่ในชุดคุณลักษณะเริ่มต้น
babel-polyfill
เป็นโพลีฟิล ES6 + ที่ง่าย