Typescript: sourceRoot doit prendre en charge les chemins relatifs et respecter l'hirearchy du dossier

Créé le 8 oct. 2015  ·  3Commentaires  ·  Source: microsoft/TypeScript

Lors de la fourniture de sourceRoot, il est simplement copié directement dans le fichier de carte source tel quel. Cela ne fonctionne pas correctement avec les options rootDir et outDir. Par exemple, si j'ai la structure suivante:

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

et je veux sortir les fichiers dans repo / out /, j'ai essayé d'utiliser sourceRoot: '../src' et cela fonctionne bien pour bar.js, mais pas www / foo.js. J'espère que cette explication a du sens.

Question

Commentaire le plus utile

@mhegazy @sheetalkamat J'ai tsconfig.json suivant:

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

mes sources sont en ./src
Et dans les cartes sources, j'ai "sources":["../../src/index.ts"]
C'est correct pour le développement, mais ce que je veux faire pour la version de production est "sources":["src/index.ts"] (parce que j'émets des cartes source avec le code source et que je veux dans la construction de production avoir ts près de ses js). Y a-t-il moyen de le faire?

Tous les 3 commentaires

sourceRoot représente la racine à utiliser par le débogage pour localiser les sources par rapport à. si vous voulez juste un chemin relatif, ne définissez pas sourceRoot et la bonne chose devrait arriver.

alors voici ma configuration:

tsconfig.json

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

en compilant, j'obtiens:

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"}

Mon erreur, on dirait que ça marche quand j'utilise tsc. Cela semble être un problème avec l'intégration de gulp. Merci.

@mhegazy @sheetalkamat J'ai tsconfig.json suivant:

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

mes sources sont en ./src
Et dans les cartes sources, j'ai "sources":["../../src/index.ts"]
C'est correct pour le développement, mais ce que je veux faire pour la version de production est "sources":["src/index.ts"] (parce que j'émets des cartes source avec le code source et que je veux dans la construction de production avoir ts près de ses js). Y a-t-il moyen de le faire?

Cette page vous a été utile?
0 / 5 - 0 notes