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'
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'
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