Avatar ·

فهم 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؟ ما هي