Typescript: sourceRoot harus mendukung jalur relatif dan menghormati folder hirearchy

Dibuat pada 8 Okt 2015  ·  3Komentar  ·  Sumber: microsoft/TypeScript

Saat memasok sourceRoot, itu hanya langsung disalin ke file peta sumber apa adanya. Ini tidak bekerja dengan benar dengan opsi rootDir dan outDir. Misalnya, jika saya memiliki struktur berikut:

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

dan saya ingin mengeluarkan file ke repo / out /, saya mencoba menggunakan sourceRoot: '../src' dan itu berfungsi dengan baik untuk bar.js, tetapi tidak www / foo.js. Saya harap penjelasan ini masuk akal.

Question

Komentar yang paling membantu

@mhegazy @sheetalkamat Saya memiliki tsconfig.json berikut:

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

sumber saya ada di ./src
Dan di peta sumber saya memiliki "sources":["../../src/index.ts"]
Ini benar untuk pengembangan, tetapi yang ingin saya lakukan untuk build produksi adalah "sources":["src/index.ts"] (karena saya memancarkan peta sumber dengan kode sumber, dan ingin dalam build produksi memiliki ts dekat js-nya). Apakah ada cara untuk melakukannya?

Semua 3 komentar

sourceRoot merepresentasikan root yang akan digunakan debug untuk menemukan sumber yang terkait. jika Anda hanya menginginkan jalur relatif, jangan setel sourceRoot dan hal yang benar akan terjadi ..

jadi inilah pengaturan saya:

tsconfig.json

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

menyusun, saya mendapatkan:

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

Kesalahan saya, sepertinya berfungsi saat saya menggunakan tsc. Tampaknya menjadi masalah dengan integrasi gulp. Terima kasih.

@mhegazy @sheetalkamat Saya memiliki tsconfig.json berikut:

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

sumber saya ada di ./src
Dan di peta sumber saya memiliki "sources":["../../src/index.ts"]
Ini benar untuk pengembangan, tetapi yang ingin saya lakukan untuk build produksi adalah "sources":["src/index.ts"] (karena saya memancarkan peta sumber dengan kode sumber, dan ingin dalam build produksi memiliki ts dekat js-nya). Apakah ada cara untuk melakukannya?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat