Exportando e Importando Componentes de Módulos - JavaScript
Exportação Nomeada de Componentes de Módulo
Para que possamos conectar e usar componentes de um módulo (variáveis/constantes/funções/classes) em outro módulo, precisamos exportá-los. Podemos exportar cada componente individualmente. Para isso, usamos a palavra-chave export
message.js
// exportando uma variável
export let welcome = "Welcome";
// exportando uma constante
export const hello = "Hello";
// exportando uma função
export function sayHello() {
console.log("Hello Programício");
}
// exportando uma classe
export class Messenger {
send(text) {
console.log("Sending message:", text);
}
}
Aqui estamos exportando a variável welcome
hello
sayHello()
Messenger
Como alternativa, podemos exportar todos os componentes juntos como uma lista:
let welcome = "Welcome";
const hello = "Hello";
function sayHello() {
console.log("Hello Programício");
}
class Messenger {
send(text) {
console.log("Sending message:", text);
}
}
export { welcome, hello, sayHello, Messenger }
Ambos os métodos de exportação são equivalentes.
Importação Nomeada de Componentes de Módulo
Podemos importar componentes de forma individual. Para isso, usamos o operador import
from
import { componente1, componente2, ... componenteN } from "caminhoDoMódulo";
Por exemplo, vamos importar no módulo main.js
message.js
import { sayHello, welcome, Messenger } from "./message.js";
sayHello();
const telegram = new Messenger();
telegram.send(welcome);
Aqui, estamos importando do módulo message.js
welcome
sayHello()
Messenger
Ao executar a página no navegador, veremos o resultado dos componentes importados no módulo main.js
Hello Programício Sending message: Welcome
Importação de Todo o Módulo
Se o módulo tiver muitos componentes e quisermos usar todas as suas funcionalidades, listar todos os componentes pode ser cansativo. Nesse caso, podemos importar todo o módulo de uma vez:
import * as alias_do_módulo from "módulo";
Após o operador import
as
Por exemplo, vamos importar todo o módulo message.js
main.js
import * as MessageModule from "./message.js";
MessageModule.sayHello();
const telegram = new MessageModule.Messenger();
telegram.send(MessageModule.welcome);
Neste caso, o módulo message.js
MessageModule
MessageModule.sayHello()