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.