Typescript: sourceRoot sollte relative Pfade unterstützen und die Ordner-Suche berücksichtigen

Erstellt am 8. Okt. 2015  ·  3Kommentare  ·  Quelle: microsoft/TypeScript

Bei der Bereitstellung von sourceRoot wird es so wie es ist direkt in die Quellzuordnungsdatei kopiert. Dies funktioniert mit den Optionen rootDir und outDir nicht richtig. Zum Beispiel, wenn ich die folgende Struktur habe:

repo / src / www / foo.ts
repo / src / bar.ts.

und ich möchte die Dateien in repo / out / ausgeben, ich habe versucht, sourceRoot zu verwenden: '../src' und das funktioniert okay für bar.js, aber nicht www / foo.js. Ich hoffe diese Erklärung macht Sinn.

Question

Hilfreichster Kommentar

@mhegazy @sheetalkamat Ich habe folgende tsconfig.json:

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

Meine Quellen sind in ./src
Und in Quellkarten habe ich "sources":["../../src/index.ts"]
Dies ist für die Entwicklung korrekt, aber was ich für die Produktionserstellung tun möchte, ist "sources":["src/index.ts"] (weil ich Quellkarten mit Quellcode emittiere und in der Produktionserstellung ts in der Nähe seiner js haben möchte). Gibt es eine Möglichkeit, dies zu tun?

Alle 3 Kommentare

sourceRoot stellt die Wurzel dar, die vom Debugging verwendet wird, um die Quellen relativ zu zu lokalisieren. Wenn Sie nur einen relativen Pfad möchten, setzen Sie sourceRoot nicht und das Richtige sollte passieren.

Also hier ist mein Setup:

tsconfig.json

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

Kompilieren bekomme ich:

C:\test\5180>type out\bar.js.map
{"version":3,"file":"bar.js","sourceRoot":"","sources":["../src/bar.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAE,CAAC,CAAC"}
C:\test\5180>type out\www\foo.js.map
{"version":3,"file":"foo.js","sourceRoot":"","sources":["../../src/www/foo.ts"],"names":[],"mappings":"AAAA,IAAI,CAAC,GAAG,CAAC,CAAC"}

Mein Fehler, es sieht so aus, als würde es funktionieren, wenn ich tsc benutze. Es scheint ein Problem mit der Gulp-Integration zu sein. Vielen Dank.

@mhegazy @sheetalkamat Ich habe folgende tsconfig.json:

{
    "compilerOptions": {
        "rootDir": "./",
        "outDir": "./out",
        "sourceMap": true
    }
}

Meine Quellen sind in ./src
Und in Quellkarten habe ich "sources":["../../src/index.ts"]
Dies ist für die Entwicklung korrekt, aber was ich für die Produktionserstellung tun möchte, ist "sources":["src/index.ts"] (weil ich Quellkarten mit Quellcode emittiere und in der Produktionserstellung ts in der Nähe seiner js haben möchte). Gibt es eine Möglichkeit, dies zu tun?

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen