فهم esModuleInterop في tsconfig.json: كيفية إصلاح استيراد وحدات CommonJS في TypeScript
مرحباً بالجميع! أنا مبتدئ في TypeScript وواجهت مشكلة غير مفهومة بالنسبة لي عند إعداد المشروع. لدي مشروع Node.js وأستخدم المكتبة الشهيرة `express`. قمت بتثبيتها عبر npm وقمت أيضاً بتثبيت الأنواع (`@types/express`). ملف `tsconfig.json` الخاص بي يبدو هكذا:
```json
{
"compilerOptions": {
"target": "ES2020",
"module": "commonjs",
"outDir": "./dist",
"rootDir": "./src",
"strict": true
}
}
```
عندما أحاول استيراد express بهذه الطريقة:
```typescript
import express from 'express';
```
يظهر خطأ في TypeScript: `Module '"/path/to/node_modules/@types/express/index"' has no default export.` أو شيء مثل `This module is declared with 'export =' and can only be used with a default import when using the 'esModuleInterop' flag.`
لقد قرأت عن العلم `esModuleInterop`، لكنني لا أفهم تماماً ما يفعله ولماذا هذه مشكلة أصلاً. لماذا لا يمكنني ببساطة استيراد express بالطريقة التي اعتدت عليها في JavaScript؟ ما هي