10.source-map

487 阅读2分钟

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,都在eval2.显示错误代码准确信息 和源代码的错误位置(文件名多了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