Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Dúvida com exports e import

Olá, qual a diferença quando se usa : exports var e exports {var}

e também quando temos : import var from 'algum pacote' e import {var} from 'algum pacote'

2 respostas
solução!

Oi, Ricardo, tudo bem?

import/export fazem parte da modularização do ECMAScript que utiliza essa nomeclatura. Então, o uso das chaves seja para import ou export indica que desejo exportar ou importar funções de determinado arquivo, vamos ao exemplo:

Abaixo criamos duas funções para calcular a área de uma circulo e de um quadrado e ambas foram exportadas.

const circleArea = r => 3.14 * (r ** 2);
const squareArea = s => s * s;

export {circleArea}

Já nesse código as importamos do arquivo do qual os módulos foram salvos.

import {circleArea } from './CalcArea.js';

console.log(circleArea(2));

Já quando estamos utilizando o exports e o imports sem o uso de {} é quando queremos exportar e importar o módulo daquele arquivo, vejamos:

import Book from './Book.js';

const myBook = new Book('Ninja Javascript');
myBook.printTitle();

No exemplo acima estou exportando toda a classe Book do arquivo Book.js. Ou seja, a utilização de chaves é somente quando há mais de um módulo a ser exportado

E podemos usar o * para importar todos as funções daquele arquivo.

import * as area from './CalcArea.js' //importing the entire module with a variable 

console.log(area.circleArea(2));
console(area.squareArea(3));

Para saber mais: https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/import

https://developer.mozilla.org/pt-BR/docs/Web/JavaScript/Reference/Statements/export

Se ficou alguma dúvida é só falar!

ficou bem claro pra mim. Obrigado