require vs import no Node.js: qual a diferença e quando usar cada um
Neste artigo você vai aprender qual a diferença entre require e import no Node, e entender quando utilizar cada um

Fala programador(a), beleza? Bora aprender mais sobre Node!
Node.js é uma plataforma de desenvolvimento JavaScript que permite a criação de aplicações de servidor usando JavaScript.
Ele possui uma sintaxe de importação de módulos semelhante à do JavaScript, mas existem algumas diferenças fundamentais entre as palavras-chave require e import.
A principal diferença entre require e import é que require é usado para carregar módulos no Node.js, enquanto import é usado para importar módulos no JavaScript.
O require é uma função built-in do Node.js e é usado para carregar módulos de arquivos externos e pacotes instalados globalmente. Ele também pode ser usado para carregar módulos internos do Node.js, como http e fs.
Já o import é uma palavra-chave do JavaScript, ela foi introduzida a partir da versão ECMAScript 6 (ES6) e não é suportada pelo Node.js, para usar essa funcionalidade é necessario usar algum transpiler que possa transpilar o código para uma versão que o Node.js entenda.
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Outra diferença importante é que o require retorna um objeto, enquanto o import retorna uma referência para o módulo.
Isso significa que, quando você usa require, você pode atribuir o retorno à uma variável e usar essa variável para acessar as propriedades e métodos do módulo.
Já com o import você precisa acessar diretamente as propriedades e métodos do módulo importado.
Em resumo, o require é usado para carregar módulos no Node.js e é uma função built-in, enquanto o import é usado para importar módulos no JavaScript e é uma palavra-chave do ECMAScript 6, e não é suportado nativamente pelo Node.js.
Exemplo de importação com import
Exemplo de import:
// módulo "myModule.js"
export const myVariable = 'Hello World';
export function myFunction() {
console.log('This is my function');
}
// arquivo "main.js"
import { myVariable, myFunction } from './myModule';
console.log(myVariable); // imprime "Hello World"
myFunction(); // imprime "This is my function"
Exemplo de importação com require
Exemplo de require:
// módulo "myModule.js"
const myVariable = 'Hello World';
function myFunction() {
console.log('This is my function');
}
module.exports = { myVariable, myFunction }
// arquivo "main.js"
const myModule = require('./myModule');
console.log(myModule.myVariable); // imprime "Hello World"
myModule.myFunction(); // imprime "This is my function"
É importante notar que ao usar o import é necessário usar a sintaxe de destructuring para poder acessar as propriedades e métodos, enquanto que com o require é necessário acessar diretamente as propriedades e métodos a partir do objeto retornado.
Além disso, vale lembrar que para usar import é necessário usar algum transpiler que possa transpilar o código para uma versão que o Node.js entenda, como o Babel.
Deixe um comentário contando o que achou deste artigo 🙂
Quer aprender mais sobre Node? Confira o vídeo abaixo:
Conclusão
Chegamos ao fim do artigo sobre a diferença entre require e import no Node!
Em resumo, o Node.js é uma plataforma de desenvolvimento JavaScript que permite a criação de aplicações de servidor usando JavaScript.
Ele possui uma sintaxe de importação de módulos semelhante à do JavaScript, mas existem algumas diferenças fundamentais entre as palavras-chave require e import.
A principal diferença entre as duas é que require é usado para carregar módulos no Node.js, enquanto import é usado para importar módulos no JavaScript, e não é suportado nativamente pelo Node.js.
É importante lembrar que para usar import é necessário usar algum transpiler que possa transpilar o código para uma versão que o Node.js entenda.
Ambos require e import possuem suas vantagens e desvantagens, e o desenvolvedor deve escolher qual utilizar de acordo com as necessidades do projeto.
Está buscando a sua primeira vaga como Programador? Confira o nosso treinamento completo clicando aqui.
Uma plataforma de cursos com projetos completos, comunidade de alunos e muito mais!
Há também o nosso canal no YouTube, com muito conteúdo gratuito de qualidade!
Tabela comparativa: require vs import
Pra bater o olho e pegar a diferença rápido, se liga na tabela 👇
| require | import | |
|---|---|---|
| O que é | função built-in do Node.js | palavra-chave do JavaScript (ES6) |
| De onde vem | do próprio Node.js | do ECMAScript 6 (ES6) |
| O que retorna | um objeto | uma referência para o módulo |
| Como você acessa | guarda em uma variável e acessa as propriedades | acessa direto, usando destructuring |
| Suporte no Node | nativo | precisa de um transpiler, como o Babel |
Quando usar require ou import?
Não tem bala de prata aqui, a escolha depende do seu projeto
Se você trabalha direto com o Node.js e quer algo que funciona de cara, sem configurar nada, o require te atende numa boa
Já se tu prefere a sintaxe mais nova do JavaScript e não se importa de colocar um transpiler como o Babel no fluxo, o import deixa o código no padrão do ES6
No fim das contas, os dois carregam os seus módulos, então vale testar e ver qual encaixa melhor no que você tá construindo
Perguntas frequentes sobre require e import
require e import são a mesma coisa?
Não são
O require é uma função built-in do Node.js, usada pra carregar módulos
O import é uma palavra-chave do JavaScript, que veio no ECMAScript 6 (ES6)
Eles fazem um trabalho parecido, mas vêm de lugares diferentes
O que é ECMAScript 6 (ES6)?
É uma versão do JavaScript que trouxe várias funcionalidades novas pra linguagem
O import é uma dessas novidades
Preciso de algo a mais pra usar import no Node?
O import é uma palavra-chave do ES6, então pra rodar você usa um transpiler que converte o código pra uma versão que o Node.js entenda, como o Babel
Leia também
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares

As diferenças de var, let e const

Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]

ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
