104 votes

Comment regarder et compiler toutes les sources TypeScript ?

J'essaie de convertir un projet d'animaux de compagnie en TypeScript et je ne semble pas pouvoir utiliser l'option tsc pour surveiller et compiler mes fichiers. L'aide indique que je dois utiliser l'utilitaire -w mais il semble qu'il ne puisse pas regarder et compiler toutes les *.ts dans le répertoire "some" de manière récursive. Cela ressemble à quelque chose tsc devrait être en mesure de gérer. Quelles sont mes options ?

151voto

shearn89 Points 111

Créez un fichier nommé tsconfig.json dans votre projet Root et inclure les lignes suivantes dans celui-ci :

{
    "compilerOptions": {
        "emitDecoratorMetadata": true,
        "module": "commonjs",
        "target": "ES5",
        "outDir": "ts-built",
        "rootDir": "src"
    }
}

Veuillez noter que outDir doit être le chemin d'accès au répertoire qui recevra les fichiers JS compilés, et rootDir doit être le chemin du répertoire contenant vos fichiers sources (.ts).

Ouvrez un terminal et exécutez tsc -w il compilera tout .ts dans src dans le répertoire .js et les stocker dans ts-built répertoire.

29voto

dSebastien Points 834

La version bêta de TypeScript 1.5 a introduit la prise en charge d'un fichier de configuration appelé tsconfig.json . Dans ce fichier, vous pouvez configurer le compilateur, définir des règles de formatage du code et, plus important encore pour vous, lui fournir des informations sur les fichiers TS de votre projet.

Une fois correctement configuré, vous pouvez simplement exécuter le tsc pour qu'elle compile tout le code TypeScript de votre projet.

Si vous voulez qu'il surveille les fichiers pour des changements, vous pouvez simplement ajouter --watch au tsc commandement.

Voici un exemple de fichier tsconfig.json

{
"compilerOptions": {
    "target": "es5",
    "module": "commonjs",
    "declaration": false,
    "noImplicitAny": false,
    "removeComments": true,
    "noLib": false
},
"include": [
    "**/*"
],
"exclude": [
    "node_modules",
    "**/*.spec.ts"
]}

Dans l'exemple ci-dessus, j'inclus tous les .ts dans mon projet (de manière récursive). Notez que vous pouvez également exclure des fichiers en utilisant une balise "exclude" avec un tableau.

Pour plus d'informations, consultez la documentation : http://www.typescriptlang.org/docs/handbook/tsconfig-json.html

25voto

Wambua Makenzi Points 81

Vous pouvez regarder tous les fichiers comme ceci

tsc *.ts --watch

13voto

David James Points 8344

Les autres réponses ont peut-être été utiles il y a des années, mais elles sont désormais dépassées.

Étant donné qu'un projet a un tsconfig exécutez cette commande...

tsc --watch

... pour surveiller les fichiers modifiés et compiler si nécessaire. La documentation explique :

Exécuter le compilateur en mode veille. Surveiller les fichiers d'entrée et déclencher la recompilation en cas de changement. L'implémentation de la surveillance des fichiers et des répertoires peut être configurée en utilisant une variable d'environnement. Voir configurer la veille pour plus de détails.

Pour répondre à la question initiale, l'observation récursive des répertoires est possible même sur les plates-formes qui ne disposent pas d'un support natif, comme l'explique le fichier Configurer la montre docs :

La surveillance des répertoires sur les plates-formes qui ne supportent pas la surveillance récursive des répertoires de manière native dans les nœuds, est supportée par la création récursive d'un observateur de répertoire pour les répertoires enfants en utilisant différentes options sélectionnées par TSC_WATCHDIRECTORY.

8voto

Simo Endre Points 2569

Techniquement parlant, vous avez plusieurs options ici :

Si vous utilisez un IDE comme Sublime Text et le plugin MSN intégré pour Typescript : http://blogs.msdn.com/b/interoperability/archive/2012/10/01/sublime-text-vi-emacs-typescript-enabled.aspx vous pouvez créer un système de construction qui compile l'application .ts source pour .js automatiquement. Voici comment vous pouvez le faire : Comment configurer un système de construction Sublime pour TypeScript ? .

Vous pouvez définir même de compiler le code source à la destination .js fichier sur fichier sauvegarder. Il existe un package sublime hébergé sur github : https://github.com/alexnj/SublimeOnSaveBuild pour que cela se produise, il suffit d'inclure l'option ts extension dans le SublimeOnSaveBuild.sublime-settings fichier.

Une autre possibilité serait de compiler chaque fichier dans la ligne de commande. Vous pouvez même compiler plusieurs fichiers à la fois en les séparant par des espaces comme ceci : tsc foo.ts bar.ts . Vérifiez ce fil : Comment puis-je passer plusieurs fichiers sources au compilateur TypeScript ? mais je pense que la première option est plus pratique.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X