2017-10-23 8 views
1

Ich habe eine WinJS-UWP-Anwendung, wo ich TypeScript 2.5 verwende. Ich habe gerade von VS2015 auf VS2017 aufgerüstet. Wenn ich meine WinJS-UWP-Anwendung debuggen will, werden die Breakpoints in meinen .ts-Dateien nicht beachtet, da die SourceMap nicht richtig gelesen wird. Ich habe keine Konfiguration des Projekts geändert.
In der Ausgabe bekomme ich diese Meldung:
SourceMap lesen fehlgeschlagen

SourceMap ms-appx: fehlgeschlagen //8d7814f6-7286-4475-8ed8-be1c489c2253/js/main.js.map lesen: Das Präfix-URI nicht erkannt .. Meine Compiler sind:

"compilerOptions": { 
    "target": "es5", 
    "removeComments": true, 
    "preserveConstEnums": true, 
    "sourceMap": true 
    } 

die min und Zielversion der Anwendung sind: 10.0.14393.0
Muss ich Setup etwas anderes in VS2017 ?

EDIT:
Schritte zum Reproduzieren:

  1. Erstellen Sie eine neue UWP WinJS-App in VS 17 mit Min und Zielversion: 10.0.14393.0
  2. Entfernen Sie die js \ main.js
  3. Fügen Sie eine Datei main.ts in den Ordner js hinzu
  4. Erstellen Sie einen Ordner tslib, und fügen Sie die Datei winjs.d.ts ein [Beispiel: DefinetlyTyped]
  5. Fügen Sie den folgenden Code in der main.ts:

/// <reference path="../tslib/winjs.d.ts"/> 
 

 
WinJS.UI.processAll().then(() => { 
 
    let div: HTMLDivElement = document.createElement("div"); 
 
    let label: HTMLLabelElement = document.createElement("label"); 
 
    label.textContent = "Hello from the TypeScript-Side"; 
 
    div.appendChild(label); 
 
    document.body.appendChild(div); 
 
});

  1. ein neues tsconfig.json aus der VS17 Vorlage hinzufügen.
  2. Starten Sie die App mit dem AnyCPU Konfiguration

Erwartetes Ergebnis: Innerhalb der App sehen Sie den Text:

Inhalt hier geht!
Hallo aus dem Typoskript-Side

Im ouput sehen Sie diese beiden Meldungen:

'WWAHost.exe' (Script): Loaded 'Script-Code (MSAppHost/3.0)'.
SourceMap ms-appx: //32fb2864-03cf-4387-8a05-6c65a66c5a48/js/main.js.map fehlgeschlagen lesen: Die URI-Präfix nicht erkannt wird ..

EDIT 2: Die Inhalt der main.jsKarte:

{ 
 
    "version": 3, 
 
    "file": "main.js", 
 
    "sourceRoot": "", 
 
    "sources": [ "main.ts" ], 
 
    "names": [], 
 
    "mappings": "AAAA,2CAA2C;AAE3C,KAAK,CAAC,EAAE,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC;IACvB,IAAI,GAAG,GAAmB,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACxD,IAAI,KAAK,GAAqB,QAAQ,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IAC9D,KAAK,CAAC,WAAW,GAAG,gCAAgC,CAAC;IACrD,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;AACnC,CAAC,CAAC,CAAC" 
 
}

EDIT3:
TypescriptBuild-Einstellungen:

TypeScript version: 2.5 
Compile on save: Yes 
Allow implicit 'any' types: Yes 
Keep comments in JavaScript output: Yes 
Generate declaration files: No 
Generate source maps: Yes 
Specify root directory of source maps: $(MSBuildProjectDirectory) 
Specify root directory of TypeScript files: $(MSBuildProjectDirectory) 
Emit on error: No 

Wenn ich die tsconfig.json löschen, werden die Quell Karten korrekt erstellt. Aber ich brauche die tsconfig.json für ein paar andere Optionen, also ist das Löschen keine Option!

+0

Bitte versuchen Sie, die SourceMap zu löschen und erneut zu erstellen, um zu sehen, ob das Problem weiterhin besteht. –

+0

@ XavierXie-MSFTSorry für die späte Antwort: Ich habe das bereits versucht. Es gibt immer noch das gleiche Problem – TheTanic

+0

Wenn ja, laden Sie bitte ein [mcve]. Ich würde es benötigen, um Ihnen bei der Diagnose dieses Problems zu helfen. –

Antwort

1

Ich habe einen Workaround gefunden, der das Problem im Moment behebt. Ich weiß nicht, warum das funktioniert, aber wenn Sie die Zeile:

"mapRoot": "js/" 

es korrekt funktioniert.

Dies funktioniert nur für die Standard-Verzeichnis-Setup!

Verwandte Themen