При поставке sourceRoot он просто напрямую копируется в файл исходной карты как есть. Это неправильно работает с параметрами rootDir и outDir. Например, если у меня следующая структура:
репо / SRC / www / foo.ts
репо / SRC / bar.ts
и я хочу вывести файлы в repo / out /, я попытался использовать sourceRoot: '../src', и это нормально работает для bar.js, но не для www / foo.js. Надеюсь, это объяснение имеет смысл.
sourceRoot
представляет корень, используемый отладкой для поиска источников относительно. если вам просто нужен относительный путь, не устанавливайте sourceRoot, и все должно получиться правильно ..
Итак, вот моя установка:
tsconfig.json
{
"compilerOptions": {
"rootDir": "./",
"outDir": "./out",
"sourceMap": true
}
}
компилируя, я получаю:
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"}
Моя ошибка, похоже работает при использовании tsc. Похоже, проблема с интеграцией gulp. Благодарю.
@mhegazy @sheetalkamat У меня есть следующий tsconfig.json:
{
"compilerOptions": {
"rootDir": "./",
"outDir": "./out",
"sourceMap": true
}
}
мои источники находятся в ./src
А в исходных картах у меня "sources":["../../src/index.ts"]
Это правильно для разработки, но то, что я хочу сделать для производственной сборки, - это "sources":["src/index.ts"]
(потому что я создаю исходные карты с исходным кодом и хочу, чтобы в производственной сборке ts были рядом с js). Есть ли способ это сделать?
Самый полезный комментарий
@mhegazy @sheetalkamat У меня есть следующий tsconfig.json:
мои источники находятся в ./src
А в исходных картах у меня
"sources":["../../src/index.ts"]
Это правильно для разработки, но то, что я хочу сделать для производственной сборки, - это
"sources":["src/index.ts"]
(потому что я создаю исходные карты с исходным кодом и хочу, чтобы в производственной сборке ts были рядом с js). Есть ли способ это сделать?