اندازهی قلم متن
تخمین مدت زمان مطالعهی مطلب:
یک دقیقه
اگر یک برنامهی Angular را به صورت پیشفرض در IE اجرا کنیم، یک چنین تصویری مشاهده خواهد شد:
برای اجرای برنامه توسط نگارشهای مختلف IE میتوانید برنامهی IE Tester را نصب کنید.
مشکل چیست؟
مشکل عدم اجرای برنامههای Angular در IE، به قدیمی بودن موتور JavaScript آن بر میگردد؛ خصوصا در مورد توابع کار با آرایهها. برای مثال در مورد کار با for..of هیچ نوع پشتیبانی از آن در IE وجود ندارد (و نخواهد داشت؛ با توجه به پایان دورهی پشتیبانی آن):
چگونه پشتیبانی از ویژگیهای جدید JavaScript را به مرورگر IE اضافه کنیم؟
Angular امکان افزودن کمبودهای موتور JavaScript پیشفرض IE را توسط کتابخانهی core-js میسر کردهاست که اصطلاحا به آن polyfills گفته میشود. برای این منظور فایل src\polyfills.ts را گشوده و تغییرات زیر را به آن اعمال کنید:
الف) در این فایل، هرجایی import // وجود دارد، آنرا تبدیل به import کنید (تمام importهایی که کامنت شدهاند را از حالت کامنت خارج کنید).
ب) دو بستهی زیر را نیز باید نصب کنید:
البته اگر به کامنتهای این فایل دقت کنید، نیاز به نصب این بستهها نیز در آن عنوان شدهاست.
نتیجهی نهایی پس از افزودن polyfills مخصوص IE
اکنون اگر مجددا برنامه را کامپایل و اجرا کنید، برنامهی Angular بدون مشکل در IE اجرا خواهد شد:
برای اجرای برنامه توسط نگارشهای مختلف IE میتوانید برنامهی IE Tester را نصب کنید.
مشکل چیست؟
مشکل عدم اجرای برنامههای Angular در IE، به قدیمی بودن موتور JavaScript آن بر میگردد؛ خصوصا در مورد توابع کار با آرایهها. برای مثال در مورد کار با for..of هیچ نوع پشتیبانی از آن در IE وجود ندارد (و نخواهد داشت؛ با توجه به پایان دورهی پشتیبانی آن):
چگونه پشتیبانی از ویژگیهای جدید JavaScript را به مرورگر IE اضافه کنیم؟
Angular امکان افزودن کمبودهای موتور JavaScript پیشفرض IE را توسط کتابخانهی core-js میسر کردهاست که اصطلاحا به آن polyfills گفته میشود. برای این منظور فایل src\polyfills.ts را گشوده و تغییرات زیر را به آن اعمال کنید:
الف) در این فایل، هرجایی import // وجود دارد، آنرا تبدیل به import کنید (تمام importهایی که کامنت شدهاند را از حالت کامنت خارج کنید).
ب) دو بستهی زیر را نیز باید نصب کنید:
npm install --save classlist.js npm install --save web-animations-js
نتیجهی نهایی پس از افزودن polyfills مخصوص IE
اکنون اگر مجددا برنامه را کامپایل و اجرا کنید، برنامهی Angular بدون مشکل در IE اجرا خواهد شد: