Em ambientes Node.js e CommonJS, você pode usar module.exports
para exportar valores de um módulo e require
para importá-los em outro módulo.
// arquivo: modulo.js
const valor1 = 10;
const valor2 = "abc";
module.exports = {
valor1,
valor2
};
// arquivo: outro-arquivo.js
const modulo = require('./modulo.js');
console.log(modulo.valor1); // 10
console.log(modulo.valor2); // "abc"
// arquivo: modulo.js
module.exports = minhaFuncao; // Exporta uma única função
// arquivo: outro-arquivo.js
const minhaFuncao = require('./modulo.js');
// arquivo: modulo.js
module.exports.funcao1 = function() {
// ...
};
module.exports.funcao2 = function() {
// ...
};
// arquivo: outro-arquivo.js
const modulo = require('./modulo.js');
modulo.funcao1();
modulo.funcao2();
// arquivo: classe.js
class MinhaClasse {
// ...
}
module.exports = MinhaClasse;
// arquivo: outro-arquivo.js
const MinhaClasse = require('./classe.js');
const instancia = new MinhaClasse();
Para armazenar os atributos ou métodos importados em variáveis locais podemos utilizar o Destructuring para simplificar a sintaxe.
// arquivo: modulo.js
const valor1 = 10;
const valor2 = "abc";
module.exports = {
valor1,
valor2
};
module.exports.funcao1 = function() {
// ...
};
const {valor1, valor2, funcao1} = require('./modulo.js')
O recurso de importações e exportações permite que você modularize e organize seu código em módulos reutilizáveis. Ele é essencial para construir aplicações complexas e bem estruturadas em JavaScript.
// arquivo: modulo.js
export default minhaFuncao; // Exporta a função como padrão
// arquivo: outro-arquivo.js
import minhaFuncao from './modulo.js'; // Importa a função padrão
// arquivo: modulo.js
export function funcao1() {
// ...
}
export function funcao2() {
// ...
}
// arquivo: outro-arquivo.js
import { funcao1, funcao2 } from './modulo.js'; // Importa funcao1 e funcao2
// arquivo: modulo.js
export function funcao1() {
// ...
}
export function funcao2() {
// ...
}
// arquivo: outro-arquivo.js
import { funcao1 as fn1, funcao2 as fn2 } from './modulo.js'; // Importa com nomes diferentes
// arquivo: modulo.js
function funcao1() {
// ...
}
function funcao2() {
// ...
}
export default {
funcao1,
funcao2
};
// arquivo: outro-arquivo.js
import modulo from './modulo.js'; // Importa tudo como um objeto
O uso de importações e exportações é fundamental para dividir seu código em módulos independentes e promover uma arquitetura modular e organizada em suas aplicações JavaScript. Certifique-se de estar familiarizado com esses conceitos ao desenvolver projetos mais complexos.