vue-cli项目sourcemap文件重名导致的文件定位映射错误
webpack会将所有源码放在同一个目录,项目中不同目录下的index文件重名被覆盖,导致调试时所在行与文件映射关系错乱
解决方案
使用module-eval-source-map
- vue.config.js文件:
1 2 3 4 5 6 | module.exports = { configureWebpack: { // 处理 同名文件导致的SourceMap定位错误问题 devtool: process.env.NODE_ENV === 'production' ? '' : 'module-eval-source-map' , } } |
cheap-module-eval-source-map:不生成列映射,只是映射行数 因此不能解决上述问题
vue source-map设置,@符号使用
Source Map
Source Map 是一个信息文件,里面存储着报错的位置信息,只要有了它,出错的时候,可以直接定位到开发时的原始代码,而不是压缩转换后的代码。
极大的方便我们测试,需要在webpack.config.js里面设置。
- 开发模式
1 2 3 4 | module.exports = { //在开发调试阶段,建议把devtool的值设置为eval-source-map devtool: 'eval-source-map' , } |
- 实际发布
1 2 3 4 | module.exports = { //在实际发布的时候,建议将devtool的值设置为nosources-source-map或者关闭sourceMAP devtool: 'nosources-source-map' , } |
@符号查找文件
需要在webpack.config.js里面设置。
1 2 3 4 5 6 7 8 | module.exports = { resolve: { alias: { //@符号表示src为查找文件的第一级目录 '@' : path.join(__dirname, './src/' ) } } } |
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持IT俱乐部。