لماذا لما اعمل export and import في
typescript
يعطيني الخطاء التالي :
Uncaught ReferenceError: exports is not defined
لي اسبوع اطبق حلول بدون جدى
ياليت تحمل الكود و تشوف اين المشكلة
لماذا لما اعمل export and import في
typescript
يعطيني الخطاء التالي :
Uncaught ReferenceError: exports is not defined
لي اسبوع اطبق حلول بدون جدى
ياليت تحمل الكود و تشوف اين المشكلة
لا يوجد شيء يسمى "CommonJS غير مثبتة عندك"، وحذف هذا السطر لن يفعل شيئًا اللهم غير إيقاف المجمع لأنك تطلبه أن يجمّع وحدة بدون نظام وحدات معيّن!
حسنًا هو هنا يتحدث عن مجرد تثبيت حزمة Module Loader وليس "تثبيت CommonJS عندك" الأخير مجرد نظام وحدات وليس برنامج أو برمجية ما ثبت! (مع أنه على فكررة CommonJS هو النظام الافتراضي في NodeJS يعني لا تحتاج أيّ تبعيات لتشغيل وحدة CommonJS.
عمومًا صاحب الموضوع يشغّل الوحدة بالمتصفح وهنا يحتاج إلى شيء كـWebpack أو بناء وحدة ES تعمل على المتصفح مباشرةً.
عمومًا إذ كنت تنوي ترجمة الإجابة من Stackoverflow يفضل تضمين الرابط مباشرة أفضل من الترجمة بتصرف مما قد يخلط الأمر عند السائل.
إضافة:
حذف سطر تحديد نظام الوحدة مع وجود export وimport في المصدر يعني ببساطة أن المجمّع لن يترجم! لذا هو ليس حلًا هنا!
المشكلة ليس لها علاقة بـTypeScript هنا، المشكلة أنك على ما يبدو تريد تشغيل وحدة CommonJS بالمتصفح؛ ولا يمكنك تشغيل وحدة Commonjs بالمتصفح مباشر، الموضوع يحتاج، ممممم. الموضوع معقد بعض الشيء، هنا الحل الأفضل في الوقت الحالي هو استخدام webpack لإنتاج ملف حزمة وحيدة (Bundle) تعمل مباشرةً في المتصفح أو بناء وحدة UMD (تصدر للنطاق العام وبالمرة تدعم CommonJS وUMD ..
ولو أني أود أن أنصحك بتجربة بناء وحدة ES module، لكن الموضوع معقد الآن قليلا ولن يعجبك.
التعليقات