需求
如何找到触发该网络请求的准确代码位置?
从 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的原创文章,尽在:"汪子熙":
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。