繁体   English   中英

阅读 JavaScript-TypeScript 源映射并在另一个中显示代码

[英]Read JavaScript-TypeScript source map and reveal code in another one

我有两个主要问题:

  1. 如何在NodeJs 中读取或解析 js/ts 源映射文件
  2. 如何从打字稿选定的代码中找到等效的 javascript 编译部分代码

我正在构建一个打字稿编译器,为此我正在使用打字稿 API。

编译代码后,我想让用户选择一部分 ts 代码,然后我想在 WebView 中突出显示编译后的等效代码。

那么如何找到/定位那段代码呢?

如果您需要更多信息,请告诉我。 抱歉英语不好

source-map是一个解析源映射的库,并为您提供一个 api 来对它们运行查询。

main.js.map

{
  "version": 3,
  "file": "main.js",
  "sourceRoot": "",
  "sources": [
    "main.ts"
  ],
  "names": [],
  "mappings": "AAKA,IAAM,KAAK,GAAM;IACf,CAAC,EAAE,CAAC;IACJ,CAAC,EAAE,CAAC;CACL,CAAA"
}

示例用法

await sourcemap.SourceMapConsumer.with(mainSourceMap /* main.js.map */, null, (consumer) => {
  consumer.sources // [ 'main.ts' ]

  consumer.generatedPositionFor({
    source: "main.ts",
    line: 7,
    column: 2,
  }) // { line: 2, column: 4, lastColumn: 4 }

  consumer.originalPositionFor({
    line: 2,
    column: 4,
  })  // { source: 'main.ts', line: 7, column: 2, name: null }
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM