TypeScript/Node.js में require(x) और import x में क्या अंतर है?
सभी को नमस्कार! मैंने TypeScript और Node.js सीखना शुरू किया है, और मुझे मॉड्यूल import करने के दो तरीकों के बीच अंतर समझ में नहीं आ रहा।
पुराने tutorials में हर जगह मैं यह कोड देखता हूं:
```typescript
const express = require('express');
const fs = require('fs');
```
लेकिन TypeScript पर नए projects में ऐसे लिखते हैं:
```typescript
import express from 'express';
import * as fs from 'fs';
```
मैंने खुद समझने की कोशिश की, लेकिन और उलझ गया। उदाहरण के लिए, मैंने ऐसा करने की कोशिश की:
```typescript
// पुराना तरीका
const myModule = require('./myModule');
// नया तरीका
import myModule from './myModule';
```
दोनों काम करते हैं, लेकिन कभी-कभी require "Cannot find module" error देता है, जबकि import काम करता है। या इसके उलट — import "Module '".../myModule" has no default export" error देता है, जबकि require ठीक काम करता है।
मैं Node.js 18 और TypeScript 5 का उपयोग कर रहा हूं। tsconfig.json में मेरे पास "module": "commonjs" है। शायद यही कारण है? कृपया समझाएं कि इनमें क्या अंतर है और कब क्या उपयोग करना चाहिए। विशेष रूप से महत्वपूर्ण