带有代码文件的VS代码调试动态插入的JS

问题描述

我有一个使用VS代码的打字稿项目(显然是在Node上运行,并使用Debugger for Chrome扩展程序)。我的html文件引用了一个静态javascript文件,但随后该javascript文件动态注入了javascript资源的内容。

const body = document.querySelector('body');
const script = document.createElement('script');
script.setAttribute("rbl-script","true");
script.innerHTML = content;
body.appendChild(script);

在上面的代码中,content是使用$.ajax( ajaxConfig )并将ajaxConfig.url设置为'http:// localhost:8887 / js / KatAppProvider.js'的调用返回的数据,这是tsc --build生成的javascript文件。 (请注意,我不能仅静态链接此文件,因为在生产中,$.ajax请求将发送到内容管理Web服务。)

如果我尝试在相应的 KatAppProvider.ts 文件中的VS Code中设置断点,则永远不会命中它们。问题似乎是//# sourceMappingURL=KatAppProvider.js.map生成的行。我认为过去一切正常,可能是VS Code或扩展更新改变了行为,但我无法确认。使它起作用的唯一方法是,在构建为//# sourceMappingURL=js/KatAppProvider.js.map(包括 js / )之后,在生成的文件中手动修改该映射url行。

  1. 我是否还以为这是按原样工作的(不是 js / 前缀),我还记得吗?
  2. 这是我的方案的预期行为吗?如果是这样,是否有办法更改 only 此文件编译以包含 js / 前缀(但不包含其他文件,即项目中的静态链接文件)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)