TSC siempre --module genera el mismo resultado sin importar el argumento

votos
1

Soy bastante nuevo en Javascript, NodeJS y mecanografiado --obviously--. Me gustaría experimentar con los servicios del compilador en src/services(Windows) para proporcionar IntelliSense, etc., para un editor.

Por lo que yo puedo decir, tengo que ser capaz de requirecódigo de servicios de transcripción en un servidor de NodeJS y comunicarse con los que desde el editor. No pude encontrar ningún código de servicios mecanografiado NodeJS de la especie, por lo que creo que tendría que compilar el código de servicios con --module amdque esté disponible a través de NodeJS RequireJS.

Si lo anterior es correcto, mis intentos para compilar el código de servicios con --module amdrendimiento exactamente los mismos resultados que el uso de la clase módulo por defecto (véase más adelante).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
Publicado el 02/10/2012 a las 21:40
fuente por usuario
En otros idiomas...                            


2 respuestas

votos
2

Esto es ciertamente confuso, pero el código en languageService.ts no está en un 'módulo' en el sentido de la definición de 'módulo' AMD / de RequireJS.

La especificación se refiere a cosas dentro de un modulebloque como "módulos internos". Eso es lo que se está viendo en languageService.ts. Se puede pensar en ellos más como contenedores o únicos que exponen un nombre de nivel superior (mirando el código gen para un módulo interno sencillo aclara esto un poco). Se consumen estos objetos como periódicas de alto nivel sin ningún tipo de cargador de módulos en absoluto.

Produciendo externos módulos (como el nombre de la especificación) para los requireque se hace poniendo la exportdirectiva sobre una declaración de alto nivel en un archivo ts (véase la sección 9.2.1 de especificaciones). Hay algunas muestras (por ejemplo Imageboards) disponibles para descarga que hacen esto si está interesado.

Respondida el 02/10/2012 a las 22:14
fuente por usuario

votos
1

Usted tiene que tener sus módulos definidos como export module, no tu moduley luego compilarlo con --m amdo --module amd.

Me tomó unas horas para darse cuenta :)

Respondida el 26/09/2013 a las 20:36
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more