1.0.2 • Published 6 years ago

sourcemap-stack v1.0.2

Weekly downloads
1
License
ISC
Repository
-
Last release
6 years ago

sourcemap-stack

参数定义

参数属性说明
mapUrlsourcemap 地址链接,如果不填,表示sourcemap地址跟实际js路径一样
mapName参考webpack的地址格式,比如:name.hash.js.map
mapEncrypt如果map文件放到跟js同目录下,一起发布到cdn上,处于安全考虑,可以使用对称性加密map文件,加密包使用encrypte,如果没有加密,这项不填
descjs error 的堆栈信息

API

getStackByError

根据错误的stack error信息,提取出调动的堆栈关系

Input:

TypeError: console.logs is not a function
at n (http://localhost:8082/app.js:6:180422)
at a.clickme (http://localhost:8082/app.js:6:180791)
at Proxy.r (http://localhost:8082/app.js:6:1053)
at click (http://localhost:8082/app.js:6:172962)
at HTMLHeadingElement.t (http://localhost:8082/app.js:6:7539)

Output:

[
  {"filepath":"http://localhost:8082/app.js","row":"6","column":"180422","html":false},
  {"filepath":"http://localhost:8082/app.js","row":"6","column":"180791","html":false},
  {"filepath":"http://localhost:8082/app.js","row":"6","column":"1053","html":false},
  {"filepath":"http://localhost:8082/app.js","row":"6","column":"172962","html":false},
  {"filepath":"http://localhost:8082/app.js","row":"6","column":"7539","html":false}
]

getMapPath

根据map参数的配置,获取sourcemap地址
Output:

[
{"filepath":"http://localhost:8082/app.js","row":"6","column":"180422","html":false,"mapUrl":"http://localhost:8082/app.js.map"},
{"filepath":"http://localhost:8082/app.js","row":"6","column":"180791","html":false,"mapUrl":"http://localhost:8082/app.js.map"},
{"filepath":"http://localhost:8082/app.js","row":"6","column":"1053","html":false,"mapUrl":"http://localhost:8082/app.js.map"},
{"filepath":"http://localhost:8082/app.js","row":"6","column":"172962","html":false,"mapUrl":"http://localhost:8082/app.js.map"},
{"filepath":"http://localhost:8082/app.js","row":"6","column":"7539","html":false,"mapUrl":"http://localhost:8082/app.js.map"}
]

getRealStack

解析真正的调用关系

调用demo

// 获取请求内容
let params = this.ctx.request.body
// 获取调用堆栈
let stacks = sourcemapStack.getStackByError(params.desc)
// 增加map地址
sourcemapStack.getMapPath(stacks, params)
// 获取真实调用地址
stacks = yield sourcemapStack.getRealStack(stacks)

具体使用文章

https://qianduan.group/posts/59e5c3d0cf830d7057327c95

1.0.2

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago

0.0.5

6 years ago

0.0.4

6 years ago

0.0.3

7 years ago

0.0.1

7 years ago