3

Ich kodiere ein Projekt in VS 2015 Update 3 und nur Typescript 2.0 installiert.Typescript 2.0 keine Ausgabe

Nach vielen Fehlern war ich auf einer Trail- und Error-Mission, um es wieder in Gang zu bringen. Jetzt habe ich keine Fehler mehr, aber ich bekomme meine Ausgabedatei nicht.

Meine Quelldateien befinden sich alle im Clientordner und dieser Ordner befindet sich im Stammverzeichnis des Projekts.

Das ist mein tsconfig.json:

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "module": "amd", 
    "noImplicitAny": true, 
    "noEmitOnError": true, 
    "moduleResolution": "node", 
    "removeComments": true, 
    "sourceMap": true, 
    "target": "es5", 
    "outDir": "./client", 
    "outFile": "./client/app.js", 
    "sourceRoot": "./client" 
    }, 
    "exclude": [ 
    "node_modules", 
    "wwwroot" 
    ] 
} 

Das Projekt kompilieren hat, als es auf Version 1.8.x. war

Dies ist ein Beispiel von einem meiner .ts Dateien:

namespace app { 
    'use strict'; 

    angular 
     .module('app', [ 
      'ngRoute', 
      'ngAnimate', 
      'officeuifabric.core', 
      'officeuifabric.components' 
     ]); 

} 

ich etwas fehlt?

--- edit --- Wenn ich diese Zeilen entfernen:

"outDir": "./client", 
"outFile": "./client/app.js", 
"sourceRoot": "./client" 

es ohne ein Problem aufbaut. Werden die Parameter weiterhin unterstützt?

--edit 2-- Ich habe auch mit einem leeren Projekt einen VS-Code und die Befehlszeile TSC getestet.

Mein TSconfig die Arbeit ist:

{ 
    "compileOnSave": true, 
    "compilerOptions": { 
    "module": "amd", 
    "noImplicitAny": true, 
    "noEmitOnError": true, 
    "moduleResolution": "node", 
    "removeComments": true, 
    "sourceMap": true, 
    "target": "es5", 
    "outFile": "app.js", 
    "sourceRoot": "./client" 
    }, 
    "exclude": [ 
    "node_modules" 
    ] 
} 

Jedoch, wenn ich Outdir hinzufügen, entweder nichts kompiliert wird, oder an der falschen Stelle.

Dies funktioniert:

"outFile": "./build/app.js", 
+0

Ist dies abgelehnt zu kompilieren, oder ist es nur nicht die Ausgabe zu erzeugen, wenn Sie 'outDir' haben,' outFile' und 'sourceRoot'? Etwas, das ich mit TS und VS bemerkt habe, ist, dass, wenn die TS-Dateien kompiliert werden, wenn sie neue Dateien/Verzeichnisse sind, VS diese nicht implizit hinzufügt. Sie müssen sie mithilfe der Schaltfläche "Alle Dateien anzeigen" in der erkundeten Lösung hinzufügen und sie explizit in das Projekt einschließen. – Bwolfing

+0

Es verweigert nicht die Kompilierung, es gibt einfach keine Ausgabe. Kein Fehler und keine Dateien. Selbst wenn ich TSC von der Kommandozeile aus starte. –

+0

Interessant ... nun, ich weiß, dass die 'outDir'-Option immer noch unterstützt wird, ich benutze sie jetzt in meinem Projekt ohne Probleme. Versuchen Sie vielleicht, 'outFile' zu 'app.js' zu ändern, da die Option 'outDir' bereits zu ./client erstellen würde. Aber haben Sie versucht, Elemente schrittweise zu entfernen, um zu sehen, ob es eine einzige Option ist, die die Ausgabe verhindert? – Bwolfing

Antwort

0

Diese Konfiguration arbeitet für mich:

{ 
    "compileOnSave": false, 
    "compilerOptions": { 
    "module": "amd", 
    "noImplicitAny": true, 
    "noEmitOnError": true, 
    "moduleResolution": "node", 
    "removeComments": true, 
    "sourceMap": true, 
    "target": "es5", 
    "outFile": "./build/app.js" 
    }, 
    "exclude": [ 
    "node_modules", 
    "wwwroot" 
    ] 
}