Capítulo 10. Namespaces e módulos
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Quando escreves um programa, podes expressar o encapsulamento a vários níveis. Ao nível mais baixo, as funções encapsulam comportamentos e as estruturas de dados, como objectos e listas, encapsulam dados. Em seguida, podes agrupar funções e dados em classes ou mantê-los separados como utilitários com espaço de nome, com uma base de dados ou armazenamento separado para os teus dados. É típico ter uma única classe ou um conjunto de utilitários por ficheiro. Go, podes agrupar algumas classes ou utilitários num pacote, que publicas no NPM.
Quando falamos de módulos, é importante fazer uma distinção entre como o compilador (TSC) resolve módulos, como o teu sistema de construção (Webpack, Gulp, etc.) resolve módulos, e como os módulos são realmente carregados na tua aplicação em tempo de execução (<script /> tags, SystemJS, etc.). No mundo do JavaScript, geralmente há um programa separado que faz cada um desses trabalhos, o que pode dificultar o raciocínio sobre os módulos. Os padrões de módulos CommonJS e ES2015 facilitam a interoperação entre os três programas, e pacotes poderosos como o Webpack ajudam a abstrair os três tipos de resolução que acontecem sob o capô.
Neste capítulo, vamos nos concentrar no primeiro desses três tipos de programas: como o Typescript resolve e compila módulos. Deixaremos uma discussão sobre como o sistema ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access