webpack_sourceMap
sourceMap
- eval: 速度最快,使用 eval 包裹代码
- source-map:产生
.map文件,外部产生错误代码的位置和信息 - cheap:较快,不包含列信息
- Module:第三方模块,包含 loader 的 sourceMap// 无论是 JSX 还是 vue 单文件组件,Loader 转换后差别都很大,需要调试 Loader 转换前的源代码。
- inline:将
.map文件作为 dateURI 嵌入,不单独生成
验证 devtool 名称时, 我们期望使用某种模式, 注意不要混淆 devtool 字符串的顺序, 模式是: [inline-|hidden-|eval-][nosources-][cheap-[module-]]source-map

特殊模式
-
inline-source-map 模式
它跟普通的 source-map 效果相同,只不过这种模式下 Source Map 文件不是以物理文件存在,而是以 data URLs 的方式出现在代码中。我们前面遇到的 eval-source-map 也是这种 inline 的方式。 -
hidden-source-map 模式
在这个模式下,我们在开发工具中看不到 Source Map 的效果,但是它也确实生成了 Source Map 文件,这就跟 jQuery 一样,虽然生成了 Source Map 文件,但是代码中并没有引用对应的 Source Map 文件,开发者可以自己选择使用。 -
nosources-source-map 模式:
在这个模式下,我们能看到错误出现的位置(包含行列位置),但是点进去却看不到源代码。这是为了保护源代码在生产环境中不暴露。
推荐配置
vuecli production 采用 source-map
个人理解 production 应该使用 none 或者 nosources-source-map
development 采用 cheap-module-eval-source-map