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
相关推荐
霍理迪18 分钟前
Vue的响应式和生命周期
前端·javascript·vue.js
竹林8183 小时前
在Web3前端用Node.js子进程批量校验钱包,我踩了这些性能与安全的坑
javascript·node.js
Kel5 小时前
深入剖析 openai-node 源码:一个工业级 TypeScript SDK 的架构之美
javascript·人工智能·架构
SuperEugene6 小时前
Vue3 模板语法规范实战:v-if/v-for 不混用 + 表达式精简,避坑指南|Vue 组件与模板规范篇
开发语言·前端·javascript·vue.js·前端框架
Luna-player6 小时前
Vue 3 + Vue Router 的路由配置,简单示例
前端·javascript·vue.js
敲代码的约德尔人6 小时前
JavaScript 设计模式完全指南
javascript·设计模式
angerdream6 小时前
最新版vue3+TypeScript开发入门到实战教程之Vue3详解props
javascript·vue.js
~欲买桂花同载酒~7 小时前
项目优化-vite打包优化
前端·javascript·vue.js
kyriewen7 小时前
JavaScript 继承的七种姿势:从“原型链”到“class”的进化史
前端·javascript·ecmascript 6