Ícone do site Linha de Comando

require vs import no Node.js: qual usar?

Ao trabalhar com módulos no Node.js, é comum encontrar duas formas de importar arquivos: require e import. Entender a diferença entre eles é importante para manter consistência no projeto.

O Problema

Alguns projetos utilizam require, enquanto outros utilizam import. Isso pode gerar dúvidas sobre qual abordagem utilizar.

Essas duas formas pertencem a sistemas diferentes de módulos.

A Solução

O Node.js tradicional utiliza o padrão CommonJS.

Utilizando require

const fs = require('fs');

Para exportar um módulo:

module.exports = minhaFuncao;

Utilizando import

Já o padrão moderno do JavaScript utiliza ES Modules.

import fs from 'fs';

Para exportar:

export function minhaFuncao() {

}

Quando usar cada um

Para usar import no Node é necessário definir no package.json:

{
  "type": "module"
}

Conclusão

Ambos funcionam bem no Node.js. O mais importante é manter consistência dentro do projeto.

Em projetos novos, muitos desenvolvedores preferem utilizar ES Modules.

Sair da versão mobile