头图

如何找到 SAP Spartacus 里某个 Component TypeScript 编译后生成的 JavaScript 位置

JerryWang_汪子熙

需求

如何找到触发该网络请求的准确代码位置?

从 initiator 里查看调用栈上下文,一点头绪也没有。

找到触发该网络请求的控件的 selector:cx-register

在 Storefront TypeScript 源代码里查找不到:

在编译生成的 JavaScript 里搜索 cx-register:找到三处

只有直接查看 SAP Spartacus 源代码:cx-register 对应的 RegisterComponent,定义在 user-profile-components.module.ts 里:

最后找到了 RegisterComponent 里的其他依赖:

比如:

  • userRegister:UserRegisterFacade
  • globalMessageService:GlobalMessageService
  • fb:FormBuilder
  • router:RoutingService

这些依赖,在编译出来的 for 运行时代码里,都能够看见:

这些依赖都是作为另一个 module 被导入。

看不到这些 module 的方法里的 JavaScript 代码?

直接搜索 RegisterComponent,结果太多了有200多个匹配。

试试换成另一个方法:

找到了:

所以结论是,TypeScript 编译成的 JavaScript 源代码,运行时在 Chrome 开发者工具里还是能够找到的。

更多Jerry的原创文章,尽在:"汪子熙":

阅读 244

Jerry Wang的SAP技术专栏
SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
0 条评论

Jerry 2007年从电子科技大学计算机专业硕士毕业后进入SAP成都研究院工作至今, SAP社区导师,SAP中国技术...

781 声望
1k 粉丝
文章目录
宣传栏