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.
- CommonJS
- ES Modules
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
- require → projetos Node.js tradicionais
- import → projetos modernos ou frontend
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.