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
相关推荐
前端小臻2 分钟前
RustFs 前端开发
javascript·vue.js·rustfs
syt_101311 分钟前
js基础之-如何理解js中一切皆对象的说法
开发语言·javascript·原型模式
十五00115 分钟前
若依集成微软单点登录(SSO)
javascript·microsoft
Irene199118 分钟前
JavaScript 三种类型检测方法对比(instanceof、typeoff、Object.prototype.toString.call())
javascript·类型检测
杨进军18 分钟前
如何实现划词效果
前端·javascript
destinying19 分钟前
五年前端,我凌晨三点的电脑屏幕前终于想通了这件事
前端·javascript·vue.js
一棵开花的树,枝芽无限靠近你1 小时前
【face-api.js】2️⃣ NetInput - 神经网络输入封装类
开发语言·javascript·神经网络
TAEHENGV1 小时前
关于应用模块 Cordova 与 OpenHarmony 混合开发实战
android·javascript·数据库
资深低代码开发平台专家1 小时前
MicroQuickJS:为极致资源而生的嵌入式JavaScript革命
开发语言·javascript·ecmascript
czlczl200209251 小时前
基于 Spring Boot 权限管理 RBAC 模型
前端·javascript·spring boot