Sto indagando sul motivo per cui il tempo di compilazione per il mio progetto TypeScript Angular 2.0 è passato da circa 4 secondi a circa 15 secondi in un tempo relativamente breve.Investigare tempi di compilazione TypeScript lunghi
Mi sono imbattuto nello switch molto utile, ma apparentemente non documentato --diagnostics
.
Per esempio, ecco cosa ottengo quando si esegue tsc --noEmit --diagnostics
sul mio progetto ora:
Files: 231
Lines: 50872
Nodes: 170067
Identifiers: 65994
Symbols: 7712123
Types: 407677
Memory used: 600554K
I/O read: 0.43s
I/O write: 0.00s
Parse time: 1.13s
Bind time: 0.34s
Check time: 10.17s
Emit time: 0.00s
Total time: 11.64s
Ecco cosa ottengo quando faccio funzionare lo stesso comando su una versione precedente del progetto.
Files: 197
Lines: 30882
Nodes: 124208
Identifiers: 46201
Symbols: 5856945
Types: 10989
Memory used: 80412K
I/O read: 0.03s
I/O write: 0.00s
Parse time: 0.60s
Bind time: 0.27s
Check time: 0.93s
Emit time: 0.00s
Total time: 1.79s
Il numero di Types
è andato verso l'alto, e così ha la Check time
.
È possibile ottenere un output più dettagliato/dettagliato da --diagnostics
?
NodeJS v4.4.3, TypeScript v1.8.10. Questo è il mio tsconfig.json
{
"compilerOptions": {
"target": "es5",
"module": "system",
"moduleResolution": "node",
"noImplicitAny": false,
"noEmitOnError": false,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"removeComments": false
},
"exclude": [
"node_modules",
"wwwroot",
"typings/main.d.ts",
"typings/main"
]
}
Grazie. Usiamo 'gulp-typescript' (https://www.npmjs.com/package/gulp-typescript) per la ricerca di modifiche. Supporta la compilazione incrementale. Anche con la visione, ottengo costantemente da 12 a 18 secondi di build. Ma le build erano più veloci e non è stato aggiunto tanto codice e abbiamo appena iniziato. Qualcosa deve aver causato il problema, ma richiederebbe molto tempo per cercare commit-by-commit. –
ho provato gulp-dattiloscritto e compilatore Intellij Idea integrato, ma era troppo lento, circa 8 secondi dopo ogni modifica, inaccettabile. Ora sto usando webpack e ts-loader con l'opzione transpileonly, il tempo di ricompilazione è di circa 0.5 secondi. – kemsky