2017-08-29 3 views
5

TypeScript vérifie l'intégralité de la base de code lors de l'exploration, même si un seul fichier a été modifié. Pour les petits projets, c'est bien, mais depuis que notre base de code a grandi, cela prend beaucoup de temps.Est-il possible de désactiver les vérifications de type lors de la transposition de caractères par l'intermédiaire de tsc pour accélérer la transposition?

Pendant le développement, je veux un temps de réponse rapide de mes tests unitaires. Le test unitaire devrait être exécuté dès que possible.

Malheureusement, je dois attendre à chaque exécution environ 10-15 secondes pour que le test de l'unité démarre, car le tsc prend beaucoup de temps à transpiler, et 60% à 80% de ce temps est consacré à la vérification.

Ces exemples d'exécution sont tout simplement de supprimer et d'ajouter une nouvelle ligne dans un fichier:

yarn tsc v0.27.5 
$ "/home/philipp/fancyProject/node_modules/.bin/tsc" "--watch" "--diagnostics" 
Files:   511 
Lines:  260611 
Nodes:  898141 
Identifiers: 323004 
Symbols:  863060 
Types:  302553 
Memory used: 704680K 
I/O read:  0.17s 
I/O write:  0.09s 
Parse time: 2.61s 
Bind time:  0.95s 
Check time: 7.65s 
Emit time:  1.45s 
Total time: 12.65s 
00:35:34 - Compilation complete. Watching for file changes. 


00:41:58 - File change detected. Starting incremental compilation... 


Files:   511 
Lines:   260612 
Nodes:   898141 
Identifiers: 323004 
Symbols:  863060 
Types:   302553 
Memory used: 1085950K 
I/O read:  0.00s 
I/O write:  0.04s 
Parse time:  0.68s 
Bind time:  0.00s 
Check time: 12.65s 
Emit time:  1.36s 
Total time: 14.69s 
00:42:13 - Compilation complete. Watching for file changes. 


00:42:17 - File change detected. Starting incremental compilation... 


Files:   511 
Lines:   260611 
Nodes:   898141 
Identifiers: 323004 
Symbols:  863060 
Types:   302553 
Memory used: 1106446K 
I/O read:  0.00s 
I/O write:  0.12s 
Parse time:  0.32s 
Bind time:  0.01s 
Check time:  9.28s 
Emit time:  0.89s 
Total time: 10.50s 
00:42:27 - Compilation complete. Watching for file changes. 

Je me demande s'il y a un moyen de dire tapuscrit:

Juste traiter tout comme OK et juste vider les JavaScript aussi rapidement que possible sur le disque.

Je veux d'abord m'assurer que mon test d'unité réussisse afin d'avoir une boucle de rétroaction rapide.

Etant donné que mon IDE s'occupe déjà des vérifications de type dans le fichier sur lequel je travaille actuellement, j'ai rarement une erreur dans la vérification de la transpilation. Et s'il y avait un gros problème, mes tests unitaires devraient les attraper.

Lors de la construction du projet, je voudrais simplement utiliser le tsc classique avec les contrôles. Comme je l'ai dit, c'est uniquement pour le développement et avoir une boucle de rétroaction rapide.

+0

Webpack avec [ts-loader] (https://github.com/TypeStrong/ts-loader) recompile uniquement les fichiers modifiés et les fichiers qui dépendent de fichier modifié. [Ici] (https://github.com/Microsoft/TypeScript-Vue-Starter#typescript-vue-starter) vous pouvez trouver un exemple de configuration. –

+0

@AlekseyL. Pourriez-vous s'il vous plaît développer votre commentaire dans une réponse avec plus de détails sur la façon d'utiliser ts-loader? – k0pernikus

Répondre

0
  1. Commencez à utiliser WebPack
  2. Ajouter awesome-typescript-loader
  3. Set transpileOnly dans la mise à true

vous pouvez également modifier d'autres paramers, ce qui peut augmenter la vitesse: ignoreDiagnostics, forceIsolatedModules, etc.

+0

Pourriez-vous s'il vous plaît ajouter une version plus approfondie des changements de configuration nécessaires? (J'ai également déjà mis en place le webpack, pour les fichiers ts, et j'ai du mal à savoir quoi ajouter et comment cela affecte les choses – k0pernikus

+0

Quelle partie de la documentation de WebPack ou de awesome-typescript-loader vous ne comprenez pas? – lesyk