2016-09-30 2 views
0

Ich habe eine ASP.NET Core Web-App und habe etwas Verwirrung über die Beziehung zwischen den TypeScript Verantwortlichkeiten zwischen tsconfig.json und gulp.js. Wie ich es verstehe, scheint es eine überlappende Funktionalität zu geben. Zum Beispiel kann ich die folgenden tsconfig.json Einstellungen haben:Was ist die Beziehung zwischen tsconfig.json und gulp.js?

"compilerOptions": { 
    "compileOnSave": true, 
    "noImplicitAny": false, 
    "noEmitOnError": true, 
    "removeComments": false, 
    "sourceMap": true, 
    "target": "es5" 
} 

Wie Sie sehe ich die compileOnSave der standardmäßig auf true in documentation und diskutiert, wie angegeben here angeben. Ich kann diesen Wert auf false setzen und dann gulp.js verwenden, um Build, Uglify, Concat, Sourcemaps etc. zu erstellen. Die tsconfig.json Datei auch bietet ähnliche Funktionalität, aber es scheint mir eine Teilmenge von was gulp ermöglicht.

Ich bin mir nicht sicher, wo die Linie als VS.NET Benutzer zu zeichnen. Soll ich tsconfig.json meine .ts. zu .js kompilieren lassen und dann gulp.js sich um alle anderen Anforderungen wie das Kopieren von Dateien, concat, uglify usw. kümmern?

Es scheint mir, es gibt redundante Funktionalität und ich bin verwirrt über die Beziehung und wie die Verantwortlichkeiten beider Dateien zu verwalten. Dies kam, weil ich Quellkartendateien für meine .ts für den Debugger brauche und ich bin mir nicht sicher, welche Datei verantwortlich sein sollte.

Kann mir jemand helfen, die Beziehung zwischen diesen Dateien aufzuklären und wann in Bezug auf meine Frage zu verwenden?

Antwort

0

Die kurze Antwort ist zu tun, was für Sie funktioniert, wenn Sie Ihre .ts kompiliert haben wie Sie gehen, dann tun Sie das sonst nicht.

Meine persönliche Meinung zu nicht Ihre .ts kompilieren würde, wie Sie gehen und einen Schluck Aufgabe einrichten als Teil Ihrer Vermögensaufbau transpile (d transpile sass, minifiy). Meine Argumentation ist, dass die .js Dateien generiert werden und daher im Rahmen einer Build-Pipeline "on the fly" neu erstellt werden können und nicht in Ihrer Lösung enthalten sein müssen.

+0

Wenn ich diese Route gehe, bedeutet dies, dass 'tsconfig.json' nicht einmal benötigt wird, und _everything_ kann über Aufgaben in' Schluck' gemacht werden? – atconway

+0

@atconway Ich bin nicht sehr vertraut mit allen Optionen in '.tsconfig' aber wenn die einzigen Optionen, die Sie gesetzt haben, mit dem Kompilieren und dem Erstellen einer Quellkarte zusammenhängen, würde ich ja sagen. – Jared

Verwandte Themen