SourceMap知识点

sourcemap事情起因:

在某客户端的包内容中,发现main.js.map文件,使用source-map库来进行解析后,直接将客户端源代码解析了出来(编写一个简单的解析+输出脚本)。

sourecemap是什么:

它是一个标准,由google在Closure Compiler(一种压缩整理、check JS代码的工具)中提出的一种标准。定义了.map映射文件的内容样子,使得目前比如webpack,可以指定source-map配置打包构建,浏览器在运行该应用时可直接debug到源代码中的精准位置,而不是打包之后的文件的位置。

拥有该文件之后就相当于拥有了对应的前端项目的源码。

sourcemap如何使用:

基于sourcemap标准生成的.map文件,使得生产环境 在浏览器调试前端代码变得方便(比如sentry 错误监控平台,用户看不到映射回源码后的调用堆栈,开发者可以结合.map文件调试映射回源码的堆栈)。

目前像webpack、vite等构建工具,默认是关闭sourcemap的,对于开发环境来说webpack,vite不用该机制同样可以进行源码的调试,前者是通过在生成的构建后的代码中的添加sourceURL来映射。

后者是通过浏览器ES模块支持,自身提供服务器,浏览器请求目标的代码,vite实时编译代码,返回给浏览器运行,这样同时兼顾运行+源码调试,比如:

复制代码
GET http://localhost:5173/src/components/Button.tsx
相关推荐
张元清3 分钟前
React useEventSource Hook:自带断线重连的 Server-Sent Events (2026)
javascript·react.js
铁皮饭盒29 分钟前
网页端, 6.5MB人脸识别模型, 谷歌框架, 又快又准
前端·javascript·后端
自进化Agent智能体1 小时前
Hermes 工具与工具集——Hermes 的内置能力
javascript
你挚爱的强哥1 小时前
【exportExcel】单纯靠js不用任何其他第三方插件导出xls格式文件
开发语言·javascript·ecmascript
大家的林语冰2 小时前
👉 尤雨溪再次成立新公司,同时官宣 Pinia 4 正式发布!
前端·javascript·vue.js
用户938515635072 小时前
从零在浏览器里跑 DeepSeek-R1:WebGPU + Transformer.js 全链路实战(二)
前端·javascript·typescript
BD_Marathon3 小时前
部署Spark
大数据·javascript·spark
gis开发之家4 小时前
《Vue3 从入门到大神50篇》Vue3 源码详解(二十):生命周期钩子源码解析 —— onMounted / onUpdated 如何实现?
前端·javascript·前端框架·vue3·vue3源码
全栈项目管理程序猿4 小时前
ArcGIS JS 基础教程(9):天空盒与大气效果
javascript
平凡的阿泽4 小时前
我用TRAE Work手搓了一个「谁是卧底」小游戏
前端·javascript