提供sourceRoot时,它将直接按原样直接复制到源映射文件中。 使用rootDir和outDir选项无法正常工作。 例如,如果我具有以下结构:
回购/src/www/foo.ts
repo / 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附近有ts)。 有办法吗?
最有用的评论
@mhegazy @sheetalkamat我有以下tsconfig.json:
我的来源在./src中
在源地图中,我有
"sources":["../../src/index.ts"]
这对于开发是正确的,但是我要为生产构建执行的操作是
"sources":["src/index.ts"]
(因为我发出带有源代码的源映射,并且希望在生产构建中使其ts附近有ts)。 有办法吗?