吾辈使用 source-map 为 .d.ts 生成 map 文件,但似乎有点问题。
// test.d.ts
export type TranslateType = {
name: {
params: []
value: 'liuli'
}
}
//# sourceMappingURL=test.d.ts.map
// test.d.ts.map
{"version":3,"sources":["./test.json"],"names":[],"mappings":";GACI","file":"./test.d.ts"}
// test.json
{
"name": "liuli"
}
测试 source-map
import {TranslateType} from './temp/test'
import {SourceMapGenerator} from 'source-map'
function f<T extends keyof TranslateType>(
key: T,
...params: TranslateType[T]['params']
): TranslateType[T]['value'] {
return null as any
}
f('name')
错误示例项目:https://github.com/rxliuli/so...
主要概念参考自:http://www.ruanyifeng.com/blo...
还有一些问题
- source-map 仅指定了 origin/generate 的位置对应,但却没有起始、结束位置的概念,那代码块是如何对应的呢?如同上面那个 dts name => json "name",而不仅仅是它们的起点位置
- source-map 如何调试这种问题?