Trilha • Comunidade

Resumo Como funciona o import e export do JavaScript?

É importante dizer que em JavaScript, cada arquivo é considerado como um módulo e todas as variáveis e funções que ele possui só são acessíveis dentro dele, a menos que você explicitamente as exporte. O import e export são bem flexíveis

O caso mais comum: export default

Sempre que criarmos um arquivo (módulo), e quisermos exportar algum dado dele para acessar em outro, vamos fazer um código bem similar:

// ## ex01/moduloA.js

const variavel = 'Valor';
const variavel2 = 'Outro Valor';

export default variavel;
// ## ex01/moduloB.js

import Modulo;

console.log(Modulo); // => 'Valor'

A variavel2 não está disponível como um valor acessível no moduloB.

Não precisamos passar o nome variavel, o nome é um apelido e você pode escolher o que fizer mais sentido dentro do contexto da importação, lembrando que, é uma boa prática fazer o import com o nome do arquivo na maioria das vezes, ficando algo como moduloA.

// ## ex01/moduloB.js

import ModuloA;

console.log(ModuloA); // => 'Valor'

Como exportar multiplos valores de um arquivo?

É exportar um objeto com os dados que queremos acessar em outro arquivo.

// ## ex01/moduloA.js

const variavel = 'Valor';
const variavel2 = 'Outro Valor';

export default {
   variavel: variavel,
   variavel2: variavel2,
};
// ## ex01/moduloB.js

import Modulo;

console.log(Modulo); 
// { variavel: 'Valor', variavel2: 'Outro Valor' }

Outra maneira é fazer na hora que declaramos uma variável ou função, colocar um export atrás:

// ## ex01/moduloA.js

export const variavel = 'Valor';
export const variavel2 = 'Outro Valor';
// ## ex01/moduloB.js

import { variavel, variavel2 };

console.log(variavel, ' e ' ,variavel2); 
// 'Valor e Outro Valor'

Estamos fazendo um object destructuring, e acessando cada valor individualmente, poderiamos também fazer o import como import * as Modulo, assim cada valor que exportamos seria agrupado dentro de um módulo.

Da pra misturar tudo? Sim!

// ## ex01/moduloA.js

export const variavel = 'Valor';
export const variavel2 = 'Outro Valor';

export default 'Valor default do módulo';
// ## ex01/moduloB.js

import ValorDoModulo, { variavel, variavel2 };

console.log(variavel, ' e ' ,variavel2); 
// 'Valor e Outro Valor'

console.log(ValorDoModulo);
// Valor default do módulo'

100.3k xp

Última atualização em

14/02/2023

O que é esta trilha?

Trilhas são sequências de Cursos e outros conteúdos criados por alunos e alunas da Alura para organizar seus estudos. Siga Trilhas que te interessem ou crie as suas próprias

Passo a passo

  1. 1

    Conteúdo do plano