ما الفرق بين require(x) و import x في TypeScript و Node.js؟
مرحباً! بدأت تعلم TypeScript و Node.js، وحدث لديَّ بعض الالتباس حول استيراد الوحدات. أرى أنه في بعض الأمثلة يُستخدم `require('module')`، وفي أخرى يُستخدم `import module from 'module'`. على سبيل المثال:
```typescript
// الخيار 1: require
const fs = require('fs');
// الخيار 2: import
import fs from 'fs';
```
كلا الخيارين يقومان على ما يبدو بنفس الشيء — تحميل وحدة `fs`. لكن لاحظت أنه عندما أكتب `require`، غالباً ما يعترض TypeScript على الأنواع، بينما يعمل `import` بشكل طبيعي. كما سمعت أن `require` هي الطريقة القديمة، و `import` هي الطريقة الجديدة. لكن ما الفرق بالضبط؟ هل يمكن مزجهما في نفس المشروع؟ وأي طريقة أفضل للاستخدام في عام 2024؟
أعمل على مشروع في Node.js مع TypeScript، وأريد أن أفهم كيفية استيراد الوحدات بشكل صحيح لتجنب الأخطاء في المستقبل. شكراً جزيلاً على المساعدة!