Neste artigo você vai aprender as diferenças entre import e require em JavaScript, recursos que temos para importar funcionalidades de JS

diferencas de import e require javascript capa

Fala programador(a), beleza? Bora aprender mais sobre importação e exportação de funcionalidades com JavaScript!

O require é uma forma que foi desenvolvida para Node.js de importar e exportar módulos em uma aplicação

Já o import é um recurso mais novo, que foi desenvolvido na versão ES6 do JavaScript

Sendo assim, o import acaba sendo mais moderno que o require e possui mais funcionalidades

O require aceita apenas exportações por meio do module.exports, que pode conter qualquer tipo de dado, como: objetos, funções, strings

Já o import aceita tanto o module.exports como o export, para receber o código de outros arquivos

Veja alguns exemplos de exportação:

// Modo mais antigo
module.exports = {
 teste: "Testando export"
}

// Modo mais recente
export function teste() {
 console.log("Testando export);
}

E agora as formas de importar com import e require:

// Utilizando require
const teste = require("./teste.js");

// Utilizando import
import * as teste from "./teste.js"

Lembre-se da compatibilidade: recursos do ES6 não estão totalmente compatíveis com os navegadores

Então você precisa de um transpile para transformar o código ES6 em uma versão mais padronizada

Um transpiler bem conhecido é o Babel

Conclusão

Neste artigo vimos quais são as diferenças entre import e require

O import é uma forma mais recente de importar módulos e te dá mais possibilidades de utilização, como vimos no artigo

Já o require é a forma mais antiga de importar módulos, amplamente utilizada em Node.js até nos dias de hoje

Confira também nosso catálogo de cursos gratuitos, com aulas semanais no YouTube

Inscrever-se
Notificar de
guest

6 Comentários
mais antigos
mais recentes Mais votado
Feedbacks embutidos
Ver todos os comentários
Rafael

Obrigado! Ajudou!

Battisti

de nada Rafael!

Marcelo

Muito Obrigado. Tirou a duvida. Seus conteúdos e vídeos sempre excelente!
Abraços.

Battisti

valeu Marcelo!

Gilberto

Estas explicações ajudaram muito porque sempre tive dúvidas quando via em alguns casos o uso do import e em outros o require. Muito bom.

Battisti

valeu Gilberto!