webpack--sourceMap

配置devtool  此选项控制是否生成,以及如何生成 source map。

当页面代码出现错误的时候  

 

我们通常会点击右侧 看看代码哪里出错了  

 

这是打包后 main.js内的代码  我们希望代码写错的时候 告诉我们的是源代码哪里出了问题

总结一下: 

SourceMap是一种映射关系。当项目运行后,如果出现错误,错误信息只能定位到打包后文件中错误的位置。如果想查看在源文件中错误的位置,则需要使用映射关系,找到对应的位置。

const path = require('path');

module.exports = {
  devtool: 'none', // SourceMap
  entry: './src/index.js',  // 入口文件
  output: {
    filename: 'bundle.js',  // 文件名
    path: path.resolve(__dirname, 'dist')  // 文件夹
  }
}

参数

1.source-map

会生成map格式的文件,里面包含映射关系的代码

devtool: 'source-map',

2.inline-source-map

不会生成map格式的文件,包含映射关系的代码会放在打包后生成的代码中

devtool: 'inline-source-map',

使用 inline-source-map的时候  map文件就会变成一个很长的base64的字符串 被放在main.js的底部  和source-map的区别是  直接将 map文件 打包到了 main.js文件内

  使用inline-source-map  当你的代码出错的时候 会告诉你 你的代码在第几行的第几个字符出了问题  会精确到哪一行 那一列出了问题  实际上来说   代码量比较大时  这样的映射比较耗费性能  代码出错 只希望告诉我们哪一行出错就ok了  

3.cheap-inline-source-map

cheap有两种作用:一是将错误只定位到行,不定位到列。二是映射业务代码,不映射loader和第三方库等。会提升打包构建的速度。

devtool: 'cheap-inline-source-map',

4.cheap-moudle-inline-source-map

业务代码、loader和第三方库的代码都会进行映射

devtool: 'cheap-moudle-inline-source-map',

5.eval

打包速度最快的一种方式  针对于比较复杂的代码时  eval 提示出来的内容可能并不是很全面

devtool: 'eval',

最佳实践:

开发环境的时候  使用 

devtool: 'cheap-module-eval-source-map',

提示出来的错误是比较全的   打包速度是比较快的

 

生产环境:

devtool: 'cheap-module-source-map',

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值