Typescript: sourceRoot deve suportar caminhos relativos e respeitar a pasta hirearchy

Criado em 8 out. 2015  ·  3Comentários  ·  Fonte: microsoft/TypeScript

Ao fornecer sourceRoot, ele é apenas copiado diretamente para o arquivo de mapa de origem como está. Isso não funciona corretamente com as opções rootDir e outDir. Por exemplo, se eu tiver a seguinte estrutura:

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

e quero enviar os arquivos para repo / out /, tentei usar sourceRoot: '../src' e isso funciona bem para bar.js, mas não www / foo.js. Espero que esta explicação faça sentido.

Question

Comentários muito úteis

@mhegazy @sheetalkamat , tenho o seguinte tsconfig.json:

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

minhas fontes estão em ./src
E nos mapas de origem tenho "sources":["../../src/index.ts"]
Isso é correto para o desenvolvimento, mas o que eu quero fazer para a construção de produção é "sources":["src/index.ts"] (porque eu emito mapas de origem com código-fonte e desejo na construção de produção ter ts perto de seu js). Existe maneira de fazer isso?

Todos 3 comentários

sourceRoot representa a raiz a ser usada pela depuração para localizar as fontes relativas. se você quiser apenas um caminho relativo, não defina sourceRoot e a coisa certa deve acontecer.

então aqui está minha configuração:

tsconfig.json

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

compilando, eu obtenho:

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

Erro meu, parece que funciona quando uso o tsc. Parece ser um problema com a integração gulp. Obrigado.

@mhegazy @sheetalkamat , tenho o seguinte tsconfig.json:

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

minhas fontes estão em ./src
E nos mapas de origem tenho "sources":["../../src/index.ts"]
Isso é correto para o desenvolvimento, mas o que eu quero fazer para a construção de produção é "sources":["src/index.ts"] (porque eu emito mapas de origem com código-fonte e desejo na construção de produção ter ts perto de seu js). Existe maneira de fazer isso?

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

siddjain picture siddjain  ·  3Comentários

Antony-Jones picture Antony-Jones  ·  3Comentários

jbondc picture jbondc  ·  3Comentários

fwanicka picture fwanicka  ·  3Comentários

rigdern picture rigdern  ·  3Comentários