Webpack5提升开发体验--SourceMap

SourceMap是一种将源代码与编译后代码映射的方案,它帮助开发者在webpack编译后的代码出错时,通过.map文件获取源代码的精确错误位置。在开发模式下,使用'cheap-module-source-map'提供快速打包但只有行映射;在生产模式下,'source-map'包含行/列映射,虽然打包速度较慢,但能提供更精确的错误定位。
摘要由CSDN通过智能技术生成

1. 为什么

开发时,我们运行的代码是经过webpack编译后的,如果出现问题, 定位会比较麻烦,比如下面main.js中有一个错误:

const result = sub(10, 5);
console.log(result);
console.log(result.reduce());

在项目运行时,查看报错信息:
在这里插入图片描述
在这里插入图片描述
所有cssjs合并成了一个文件,并且多了其他代码。此时如果代码运行出错那么提示代码错误位置我们是看不懂的。一旦将来开发代码文件很多,那么很难去发现错误出现在哪里。

所以我们需要更加准确的错误提示,来帮助我们更好的开发代码。

2. 是什么

SourceMap(源代码映射)是一个用来生成源代码与构建后代码一一映射的文件的方案。

它会生成一个xxx.map文件,里面包含源代码和构建后代码每一行、每一列的映射关系。当构建后代码出错了,会通过xxx.map文件,从构建后代码出错位置找到映射后源代码出错位置,从而让浏览器提示源代码文件出错位置,帮助我们更快的找到错误根源。

3. 怎么用

通过查看Webpack DevTool 文档可知,SourceMap的值有很多种情况。

但实际开发时我们只需要关注两种情况:开发模式和生产模式

3.1 开发模式

cheap-module-source-map

  • 优点:打包编译速度快,只包含行映射
  • 缺点:没有列映射
module.exports = {
  // 其他省略
  mode: "development",
  devtool: "cheap-module-source-map",
};

运行npm start,查看报错如下:
在这里插入图片描述在这里插入图片描述
这样就比较直观的找到错误信息所在地了。

3.3 生产模式

即:source-map

  • 优点:包含行/列映射
  • 缺点:打包编译速度更慢
module.exports = {
  // 其他省略
  mode: "production",
  devtool: "source-map",
};

执行npm run build,在dist目录下cssjs分别帮我们生成对应的map文件
在这里插入图片描述
打开index.html,查看报错信息
在这里插入图片描述
在这里插入图片描述
虽然有混淆,但对定位问题来说更简单直接,也显示了对应行列信息。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值