Quelle est la différence entre require(x) et import x en TypeScript/Node.js ?
Bonjour à tous ! J'ai commencé à apprendre TypeScript et Node.js, et la différence entre les deux façons d'importer des modules me trouble.
Partout dans les anciens tutoriels, je vois ce code :
```typescript
const express = require('express');
const fs = require('fs');
```
Mais dans les nouveaux projets TypeScript, on écrit ceci :
```typescript
import express from 'express';
import * as fs from 'fs';
```
J'ai essayé de comprendre par moi-même, mais je me suis encore plus embrouillé. Par exemple, j'ai essayé de faire ceci :
```typescript
// Ancienne méthode
const myModule = require('./myModule');
// Nouvelle méthode
import myModule from './myModule';
```
Les deux semblent fonctionner, mais parfois require génère une erreur "Cannot find module", alors que import fonctionne. Ou inversement — import génère "Module '".../myModule"' has no default export", alors que require fonctionne normalement.
J'utilise Node.js 18 et TypeScript 5. Dans tsconfig.json, j'ai "module": "commonjs". Peut-être que c'est lié à cela ? Expliquez-moi, s'il vous plaît, quelle est la différence entre les deux et quand utiliser quoi. C'est particulièrement important