web-dev-qa-db-fra.com

Comment puis-je transmettre plusieurs fichiers source au compilateur TypeScript?

TypeScript est conçu pour les projets JavaScript à grande échelle qui se composent généralement de plusieurs fichiers produits en interne ainsi que de bibliothèques produites en externe. Comment le compilateur TypeScript (tsc) s'attend-il à ce que vous lui fournissiez l'ensemble complet de fichiers constituant un projet?

36
CCoder
dir *.ts /b /s > ts-files.txt
tsc @ts-files.txt
del ts-files.txt

Cela compilera tous les fichiers *.ts du répertoire de travail et de ses sous-répertoires. Si vous ne souhaitez pas inclure de sous-répertoires, supprimez simplement la partie /s de la première ligne.

Notez que vous pouvez également ajouter d'autres arguments à la ligne tsc. Voici ce que j'utilise maintenant pour l'un de mes projets:

tsc @ts-files.txt --out ..\output/deerchao.web.js --removeComments
40
deerchao

tsc peut compiler plusieurs sources en séquence si vous donnez simplement les noms dans l'ordre:

tsc foo.ts bar.ts

Vous pouvez également transmettre un fichier texte contenant une liste de fichiers et des arguments de ligne de commande à partir d'un fichier texte à l'aide de l'argument de ligne de commande @.

tsc @compile.txt

et le compile.txt pourrait ressembler à ceci:

--module AMD
foo.ts
bar.ts

Notez également que si une référence à un autre fichier est effectuée via une variable import, tsc le trouvera automatiquement sans que vous ayez à répertorier explicitement le fichier dont il dépend.

25
Peter Olson

Si quelqu'un a besoin de cela pour Mac OS X:

find . -name "*.ts" -type f >ts-files.txt
/usr/local/bin/tsc @ts-files.txt --module CommonJS --out ./Deploy/ServerMain.js --removeComments
rm ts-files.txt
2
Centurion

Avec TypeScript 1.5 (version bêta mais la version finale devrait bientôt arriver), vous pouvez créer un fichier tsconfig.json pour configurer le compilateur TypeScript et les fichiers à compiler (entre autres). Voir ma réponse là-bas: Comment regarder et compiler toutes les sources TypeScript?

1
dSebastien

Si quelqu'un a besoin de plusieurs fichiers préalablement transpilés avant la compilation du projet, utilisez un séparé tsconfig avec l'option --project compiler.

Compilez un projet avec un fichier de configuration valide. L'argument peut être un chemin de fichier vers un fichier de configuration JSON valide ou un chemin de répertoire dans un répertoire contenant un fichier tsconfig.json. Voir tsconfig.json documentation pour plus de détails.

Un cas d'utilisation serait la nécessité d'utiliser les fichiers JS résultants par la suite dans les arguments de ligne de commande pour les scripts d'applications ioniques.

0
Stefan Rein

Ou simplement:

find ./my/path/ -name \"*.ts\" -type f | tsc
0
Matthias