Capítulo 10. Módulos
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
O objetivo da programação modular é permitir que grandes programas sejam montados usando módulos de código de autores e fontes diferentes e que todo esse código seja executado corretamente, mesmo na presença de código que os vários autores de módulos não previram. Na prática, a modularidade consiste principalmente em encapsular ou ocultar detalhes de implementação privados e manter o espaço de nomes global Tidy para que os módulos não possam modificar acidentalmente as variáveis, funções e classes definidas por outros módulos.
Até recentemente, o JavaScript não tinha suporte embutido para módulos, e os programadores que trabalhavam em grandes bases de código faziam o possível para usar a fraca modularidade disponível através de classes, objetos e fechos. A modularidade baseada em fechos, com o apoio de ferramentas de agrupamento de código, levou a uma forma prática de modularidade baseada numa função require(), que foi adoptada pelo Node. require() Os módulos baseados em - são uma parte fundamental do ambiente de programação do Node, mas nunca foram adoptados como uma parte oficial da linguagem JavaScript. Em vez disso, o ES6 define módulos usando as palavras-chave import e export. Emboraimport e export façam parte da linguagem há anos, elas só foram implementadas pelos navegadores Web e pelo Node há relativamente pouco tempo. E, na prática, ...