tsc --Module génère toujours la même sortie, peu importe l'argument

voix
1

Je suis assez nouveau pour Javascript, NodeJS et --obviously-- tapuscrit. Je voudrais expérimenter avec les services du compilateur dans src/services(Windows) pour fournir IntelliSense, etc. pour un éditeur.

Pour autant que je peux dire, je dois pouvoir requirele code des services dactylographiées dans un serveur NodeJS et communiquer avec ce de l'éditeur. Je ne pouvais pas trouver un code de services spécifiques tapuscrit-NodeJS, donc je pense que je dois compiler le code de services avec --module amdpour le rendre disponible à NodeJS via RequireJS.

Si ce qui précède est correct, mes tentatives pour compiler le code de services avec --module amdrendement exactement les mêmes résultats que l' utilisation du type de module par défaut (voir ci - dessous).

$ tsc.cmd --module amd --out amd.js .\languageService.ts
$ tsc.cmd --out comm.js .\languageService.ts
$ diff.exe .\amd.js .\comm.js
$
Créé 02/10/2012 à 21:40
source utilisateur
Dans d'autres langues...                            


2 réponses

voix
2

Ceci est certes déroutant, mais le code languageService.ts n'est pas dans un « module » au sens de la définition d'AMD / RequireJS du « module ».

La spécification fait référence à des choses à l' intérieur d' un modulebloc « modules internes ». C'est ce que vous voyez dans languageService.ts. Vous pouvez penser à eux plus comme des conteneurs ou des singletons qui exposent un nom de haut niveau (regardant le code gen pour un simple module interne précise ce dernier un peu). Vous consommez ces objets comme réguliers de haut niveau sans chargeur de modules du tout.

La production externes modules (comme nommé par la spécification) pour requirese fait en mettant la exportdirective sur une déclaration de haut niveau dans un fichier .ts (voir la section 9.2.1 spec). Il y a quelques échantillons (par exemple imageboard) disponibles pour téléchargement qui font si vous êtes intéressé.

Créé 02/10/2012 à 22:14
source utilisateur

voix
1

Vous devez avoir vos modules définis comme export module, pas votre modulepuis le compiler avec --m amdou --module amd.

Il m'a fallu quelques heures pour réaliser :)

Créé 26/09/2013 à 20:36
source utilisateur

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