一.什么是Sourcemap

Sourcemap是为了解决在实际运行代码(打包后的)出现问题时,无法定位到开发环境中的源代码的问题。为了让资源更小,加载速度更快,在js项目部署之前都会将代码混淆压缩,将less、sass 、typeScript 等其他语言编译成 css 或 JS ,这样就可以使浏览器识别。但是这样也带来了影响,当代码中出现问题时,只能定位到压缩之后的代码,出错以后只会告诉我们第几行有错误。而压缩之后的代码一般就只有一两行,每一行上万字符,对排除检查几乎没有帮助。而sourceMap的存在就是为了解决这个问题,它帮助我们将压缩的代码在控制台中转换成源码。

二.devtool

如果需要启用Sourcemap,就需要用到devtool。
devtool选项:

(1)eval
每个模块都使用 eval() 执行,每一个模块后会增加sourceURL来关联模块处理前后的对应关系。如下图:


由于会映射到转换后的代码,而不是映射到原始代码(没有从 loader 中获取 source map),所以不能正确的显示行数。因为不需要生成模块的sourcemap,因此打包的速度很快。
js调试使用方法:
在module.exports = {}里配置:devtool:"eval",

(2)source-map
source-map会为模块生成独立的soucemap文件。

打包后的模块在模块后面会对应引用一个.map文件,同时在打包好的目录下会生成相应的.map文件。如下图:

js调试使用方法:
在module.exports = {}里配置:devtool:"source-map",

(3)Inline
与source-map不同,增加inline属性后,不会生成独立的.map文件,source map 转换为 DataUrl 后添加到 bundle 中。如下所示:

(4)cheap
cheap属性在打包后同样会为每一个模块生成.map文件,但是与source-map的区别在于cheap生成的.map文件会忽略原始代码中的列信息,也不包含loader的sourcemap。

(5)module
包含了loader模块之间的sourcemap,将 loader source map 简化为每行一个映射。

css调试
调试css时需要将压缩css的插件注释掉

Css sourcemap设置:

4-2 webpack使用mapsource调试相关推荐

  1. 轻松入门React和Webpack

    2019独角兽企业重金招聘Python工程师标准>>> 最近在学习React.js,之前都是直接用最原生的方式去写React代码,发现组织起来特别麻烦,之前听人说用Webpack组织 ...

  2. 【利用AI让知识体系化】Webpack 相关配置技巧

    文章目录 章节一:了解 Webpack Webpack 是什么? 为什么使用 Webpack? Webpack 的基本概念 Webpack 的核心概念和实现原理 章节二:安装和配置 Webpack 安 ...

  3. 写给自己,梳理一下我现在对前端知识结构的理解

    前排小广告:前端自学互助交流群:240528099 今天想着做一件事情,给自己的收藏夹分类.结果做着做着,发现这个任务的工作量超乎我的想象.有一些文章,可能很难界定说,它是哪一类的:而且自己还没有特别 ...

  4. HTML5小游戏动手做(二):使用PIXI引擎制作坦克大战游戏

    这里写自定义目录标题 1. 简介 1.1 PIXI 简介 1.2 坦克大战游戏简介 2. PIXI 引擎入门 2.1 基本概念 2.1.1 舞台 Stage 2.1.2 容器 Container 2. ...

  5. 【手把手】15分钟搭一个企业级脚手架

    1 写在前面的话 搭一个脚手架,考验了你的 nodejs 水平.工程化能力.以及工具服务的设计能力,是前端进阶不可或缺的过程 笔者在开发 cli 的过程中,调研流行的 cli 并形成最佳实践,本文旨在 ...

  6. 打造一个优雅的微信文章编辑器

    费时耗力的富文本编辑器 相信使用过微信公众平台中富文本编辑器的朋友们都有体会,用「撰文5分钟,排版两小时」来形容一点儿也不过分. 对于一些只做内容运营的朋友们来说,可能还好,无非是写完内容然后进行一下 ...

  7. webpack笔记(6)调试模式

    在配置devtool时,webpack给我们提供了四种选项. source-map:在一个单独文件中产生一个完整且功能完全的文件.这个文件具有最好的source map,但是它会减慢打包速度:chea ...

  8. vscode 加参数运行_VSCode 调试 Webpack 指南

    Webpack 是前端开发的常用工具. 在使用 Webpack 的时候,我们经常会引入额外的 loader 和 plugin 来定制构建过程.而有些 loader 和 plugin 支持传入函数,来提 ...

  9. webpack打包jquery多页_Webpack打包与程序调试

    Webpack终于打包成功了,也算发布了Demo,回头继续完善程序时,却发现用webpack打包后的程序却极难调试,也用了sourcemap选项,但依然难于调试,不报错,但自己代码本身功能实现有错时, ...

  10. webpack最简单的入门教程里bundle.js之运行单步调试的原理解析

    读这篇文章的朋友,请确保对webpack有最基础的认识. 您可以阅读我前一篇文章:Webpack 10分钟入门 来在本地运行一个Webpack的hello world项目.www.toutiao.co ...

最新文章

  1. 玩Android的第一天
  2. 某中国500强企业BI系统成功应用案例
  3. 根据Explain结果中的key_len判断MySQL联合索引中实际用到的索引字段
  4. 【HDU - 5943】Kingdom of Obsession(数论,素数间隔结论,构造,思维,匈牙利算法,匹配问题)
  5. linux free 命令中buffers、cached以及-/+ buffers/cache解析
  6. 物流广告收入实现高速增长 国际投行看好京东转型潜力
  7. 转 Java工程师成神之路
  8. c语言五子棋中怎么设置开局,五子棋教程:指定开局
  9. 天文相关词汇的英语翻译
  10. 基于DCT的图像数字水印算法
  11. jQuery weui Select组件显示指定值
  12. PCF文件管道信息解析
  13. 波士顿动力机器人大秀男团舞
  14. SONY EVI-D70P
  15. Adam优化器简单理解
  16. PMP续证流程全解析
  17. UTM: 如何注册 SonicWALL 防火墙
  18. 若依框架----登录界面美化
  19. ORACLE 驱动表
  20. dns电视机服务器未响应如何处理,dns电脑服务器未响应如何处理?

热门文章

  1. 易到网约车许可证到手,终于能卖个好价钱了
  2. python中encode用法_Python中encode()方法的使用简介
  3. html5理财计算,理财收益怎么算(一般理财产品的收益计算方法)
  4. 中龙电力什么理财产品预期收益高又安全?介绍四类理财产品
  5. 计算机语言分几级,计算机语言分为三类:机器语言、低级语言和高级语言。()...
  6. 项目管理计划Office Project 2013 日常使用
  7. Flask-SQLAlchemy牛刀小试
  8. PCB中产生电磁干扰的原因及消除干扰技巧
  9. 干货丨让你更容易影响别人的 52 个小技巧
  10. 爬虫基本库的使用之正则表达式