Modules
Como as aplicações vão crescendo e se tornando inviaveis para serem feitas em um só arquivo precisamos então de módulos, ou seja, organizar o código em diferentes arquivos/pastas
Instale o package:
Agora é rodar:
A saída será essa:
Criando um módulo JavaScript
Primeiro temos que entender que cada arquivo JavaScript é um módulo próprio
Ou seja, app.js e user-controller.js são dois módulos separados que não conversam:
Exemplo
Criamos um arquivo tax.js na pasta:
A função definida no arquivo recebe um preço e aplica 20% de taxa. A função é simples e a exportação se dá pelas keywords que são importantes: export defaul
O
exporté usado para denotar que features que poderão ser usadas fora do móduloPor padrão o conteúdo de um arquivo JavaScript são privados e devem ser compartilhados de forma explicita usando a keyword
exportantes deles serem usados no resto da aplicaçãoAgora a outra parte o
defaulté usado para especificar que somente será exportado aquela função no arquivotax.js
Usando Módulos
Basta usarmos a keyword: import calcTax from "./tax";
Entendendo localização de módulos
Quando temos módulos definidos no próprio projeto preciamos passar o path relativo:
import calcTax from "./tax";
Quando o módulo é externo não precisamos:
import React, { Component } from "react";
Exportando feature nomeadas de um módulo:
Tipo de Exportação | Código de Exportação | Código de Importação | Observação |
|---|---|---|---|
Exportação nomeada |
|
| Usa chaves |
Exportação default |
|
| Pode ser importado com qualquer nome, sem |
Exportação combinada |
|
| Combina exportação default e nomeada |
Múltiplas nomeadas |
|
| Permite agrupar várias funções relacionadas no mesmo módulo |