Typescript: sourceRoot debe admitir rutas relativas y respetar el sistema de contratación de carpetas

Creado en 8 oct. 2015  ·  3Comentarios  ·  Fuente: microsoft/TypeScript

Al suministrar sourceRoot, simplemente se copia directamente en el archivo de mapa de origen tal como está. Esto no funciona correctamente con las opciones rootDir y outDir. Por ejemplo, si tengo la siguiente estructura:

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

y quiero generar los archivos en repo / out /, intenté usar sourceRoot: '../src' y eso funciona bien para bar.js, pero no www / foo.js. Espero que esta explicación tenga sentido.

Question

Comentario más útil

@mhegazy @sheetalkamat Tengo el siguiente tsconfig.json:

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

mis fuentes están en ./src
Y en los mapas de origen tengo "sources":["../../src/index.ts"]
Esto es correcto para el desarrollo, pero lo que quiero hacer para la compilación de producción es "sources":["src/index.ts"] (porque emito mapas fuente con código fuente y quiero que en la compilación de producción tenga ts cerca de su js). ¿Hay alguna forma de hacerlo?

Todos 3 comentarios

sourceRoot representa la raíz que utilizará la depuración para localizar las fuentes relativas a. si solo desea una ruta relativa, no configure sourceRoot y debería suceder lo correcto.

así que aquí está mi configuración:

tsconfig.json

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

compilando, obtengo:

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

Mi error, parece que funciona cuando uso tsc. Parece ser un problema con la integración de gulp. Gracias.

@mhegazy @sheetalkamat Tengo el siguiente tsconfig.json:

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

mis fuentes están en ./src
Y en los mapas de origen tengo "sources":["../../src/index.ts"]
Esto es correcto para el desarrollo, pero lo que quiero hacer para la compilación de producción es "sources":["src/index.ts"] (porque emito mapas fuente con código fuente y quiero que en la compilación de producción tenga ts cerca de su js). ¿Hay alguna forma de hacerlo?

¿Fue útil esta página
0 / 5 - 0 calificaciones