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

Subscribe
Notify of
guest

6 Comentários
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
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!