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
相关推荐
三十而立洋1 天前
Cookie 详解:从产生到安全,一次讲透
前端·javascript
卡布鲁1 天前
把一个 Vite + Vue3 应用塞进 qiankun (React + Umi3) 主站:十个坑的复盘
前端·javascript·react.js
李少兄1 天前
JavaScript 隐式全局变量解析
javascript
沙蒿同学2 天前
我用 Go 搭了一条 AI Agent 流水线:从 1 张商品图到一整套淘宝详情页
前端·javascript·后端
paopaokaka_luck2 天前
智慧社区综合服务小程序(人脸识别、AI问答、Echarts图形化分析)
前端·javascript·spring boot·spring·数据分析·echarts
Hilaku2 天前
为什么死磕 1px 的团队,用户体验反而更差?
前端·javascript·程序员
陈拉斯2 天前
给公司年会写了个大屏抽奖系统:动画在前端跑,凭什么说结果没被改?
javascript
yzy852 天前
Vue中下载或打开文件的JavaScript方法
前端·javascript·vue
用户298698530142 天前
在 React 中用 JavaScript 将 Word 转换为文本
前端·javascript·react.js
李少兄2 天前
深入解析 JavaScript 中的 `document` 对象
javascript