source-map 配置
sourcemap是为了解决开发代码与实际运行代码不一致时帮助我们debug到原始开发代码的技术。我们的开发代码通常都会被编译压缩,若原始代码中出现错误,那么很难找到错误所在位置,使用source-map就会使我们很快定位到错误在原代码的位置。
配置 source-map
module.exports = {
mode:'development',
entry:'./src/index.js',
devtool:'source-map', //增加映射文件,可以帮助我们调试源代码
output:{
filename:'bundle.js',
path:path.resolve(__dirname,'/build'),
}
}
devtool 四种不同方法
内联: 不会生成外部文件
外联: 生成外部文件
内联构建速度更快
source map 产生 .map文件
cheap 不包含列信息
也可以通过 SourceMapDevToolPlugin 插件,这个插件可以修改map文件的引用地址,同时借助 filemanager-webpack-plugin 将 map 文件移动到指定服务器
补充
补充:devtool 关键字速记(按构建速度从快到慢):
eval:用eval包裹模块,速度最快,但定位不准。eval-source-map:每个模块用eval包裹 + 完整 sourcemap,开发首选。eval-cheap-module-source-map:带 loader 源码、忽略列信息,速度好。cheap-module-source-map:生成独立.map文件,开发/生产调试都可。source-map:完整独立.map,最准最慢,常用于生产。hidden-source-map:生成 map 但不在产物中引用(用于把 map 上传到 Sentry 类的错误平台)。 命名解析:[xxx-][module-][eval-][cheap-[module-]]source-map。开发推荐eval-cheap-module-source-map,生产推荐hidden-source-map+ Sentry。
来源整理自:我的有道云笔记



