He pasado algún tiempo leyendo la especificación del lenguaje Letra de imprenta y estoy un poco confundido sobre la diferencia entre internos y externos módulos. Aquí está la descripción tomada directamente de la especificación:
módulos internos (sección 9.2.2) son miembros locales o exportados de otros módulos (incluyendo el módulo global y módulos externos). módulos internos se declaran mediante ModuleDeclarations que especifican su nombre y el cuerpo. Un camino nombre con más de un identificador es equivalente a una serie de declaraciones de módulos internos anidados.
Los módulos externos (sección 9.4) se cargan por separado cuerpos de código de referencia utilizando nombres de los módulos externos. Un módulo externo se escribe como un archivo fuente independiente que contiene al menos una declaración de importación o exportación. Además, los módulos externos pueden ser declaradas usando AmbientModuleDeclarations en el módulo global que especificar directamente los nombres de los módulos externos como literales de cadena. Esto se describe adicionalmente en la sección 0.
Por lo que he entendido creo que los módulos externos corresponden a los archivos de texto mecanografiado sin encerrar definiciones del módulo que simplemente exportan un conjunto de tipos y / o variables. De otro fichero de transcripción que pueda importación sencilla un módulo externo en foo.ts conimport foo = module(foo);
¿Puede alguien explicarme la destinction entre los módulos internos y externos?













