1.sourceMap:
sourceMap:是一种提供源代码到构建代码的映射技术
作用:如果构建后代码出错了,通过映射可以追踪源代码错误
2.参数使用:
inline- |hidden- |eval- |nosources- |cheap- |cheap-module-
devtool: "nosources-source-map"
3.参数详解:
1.source-map 外部
1.会生成map格式的文件,里面包含映射关系的代码
2.显示错误代码准确信息 和 源代码的错误位置
2.inline-source-map 内联
1.总的只会打包后的built.js文件底部中生成一个base64的东西
2.显示错误代码准确信息 和 源代码的错误位置
3.hidden-source-map 外部
1.会生成一个built.js.map的文件
2.显示错误代码准确信息 但是没有错误位置,不能追踪代码错误,只能提示到构建代码的错误位置(只隐藏源代码,会提示构建后的代码)
4.eval-source-map 内联
1.每个文件都会在打包后的built.js文件中生成对应的source-map,都在eval里
2.显示错误代码准确信息 和源代码的错误位置(文件名多了hash值)
3.生成映射关系代码,效率和性能最佳。但是当代码复杂时,提示信息可能不精确。
5.nosources-source-map 外部
1.显示错误代码准确信息 但是没有任何源代码信息(全部隐藏)
6.cheap-source-map 外部
1.只能精确到行,其他都能精确到行,列
(只能指出哪一行错误代码,不能准确到哪一部分)
2.提升打包构建的速度
7.cheap-modul-source-map 外部
1.module会映射loader和第三方库
注意:1. 内联和外联的区别: 1.外部会生成map格式的文件,内联不会 2.内联构建速度更快
4.推荐方式
1.速度比较:
内联>外部
eval>inline>cheap eval-cheap-source-map >eval-source-mao (组合更快,cheap会提升速度)
2.调试友比较:
source-map > cheap-modelue-source-map > cheap-source-map
开发环境:速度快,调试更友好
推荐:eval-source-map /eval-cheap-modul-source-map
生产环境:源代码要不要隐藏?调试是否友好
推荐:source-map / cheap-modlue-source-map