Qual é a diferença entre require(x) e import x em TypeScript/Node.js?
Olá a todos! Comecei a estudar TypeScript e Node.js, e estou confuso com a diferença entre duas formas de importar módulos.
Em todos os tutoriais antigos, vejo este código:
```typescript
const express = require('express');
const fs = require('fs');
```
Mas em novos projetos em TypeScript escrevem assim:
```typescript
import express from 'express';
import * as fs from 'fs';
```
Tentei entender por conta própria, mas fiquei ainda mais confuso. Por exemplo, tentei fazer assim:
```typescript
// Forma antiga
const myModule = require('./myModule');
// Forma nova
import myModule from './myModule';
```
Ambos parecem funcionar, mas às vezes require dá erro "Cannot find module", enquanto import funciona. Ou o contrário — import dá erro "Module '".../myModule"' has no default export", enquanto require funciona normalmente.
Estou usando Node.js 18 e TypeScript 5. No meu tsconfig.json, tenho "module": "commonjs". Talvez seja isso? Expliquem, por favor, qual é a diferença entre eles e quando usar cada um. Especialmente importante
No answers yet.
Faça login para deixar uma resposta
Blogs