vue.js3.2.20: 在打包时取消生成.map文件
一, .map文件的作用:
项目打包完成后,代码经过压缩和加密,在运行时如果报错,则输出的错误信息无法准确显示是哪一行的代码在出错。
map的作用在于:和未加密的代码一样,
能准确的输出是哪一行哪一列在发生错误
可见map文件对于开发、测试环境是必需的,
但对于生产环境则不是必需,而且会带来安全问题
说明:刘宏缔的架构森林是一个专注架构的博客,
网站:https://blog.imgtouch.com
本文: https://blog.imgtouch.com/index.php/2023/05/28/vue-js3-2-20-zai-da-bao-shi-qu-xiao-sheng-cheng-map-wen-jian/
对应的源码可以访问这里获取: https://github.com/liuhongdi/
或: https://gitee.com/liuhongdi
说明:作者:刘宏缔 邮箱: 371125307@qq.com
二,如何取消生成.map文件
1,查看默认生成的.map文件:
liuhongdi@lhdpc:/data/vue/ma$ ls dist/js app.2ccbc51f.js app.2ccbc51f.js.map chunk-vendors.12a4462b.js chunk-vendors.12a4462b.js.map
2,设置取消生成.map文件
创建vue.config.js
liuhongdi@lhdpc:/data/vue/ma$ vi vue.config.js
代码:
liuhongdi@lhdpc:/data/vue/ma$ more vue.config.js module.exports = { productionSourceMap: process.env.NODE_ENV === 'production' ? false : true, }
3,再次打包测试效果:
清空上次生成的打包文件
liuhongdi@lhdpc:/data/vue/ma$ rm -rf dist/*
再次打包
liuhongdi@lhdpc:/data/vue/ma$ npm run build
查看结果:
liuhongdi@lhdpc:/data/vue/ma$ ls dist/js app.2ccbc51f.js chunk-vendors.12a4462b.js
结果可见已没有.map文件生成
三,查看vue的版本:
liuhongdi@lhdpc:/data/vue/ma$ npm list vue ma@0.1.0 /data/vue/ma ├─┬ @vue/cli-plugin-babel@4.5.14 │ └─┬ @vue/babel-preset-app@4.5.14 │ └── vue@3.2.20 deduped ├─┬ element-plus@1.1.0-beta.20 │ ├─┬ @vueuse/core@6.1.0 │ │ ├─┬ @vue/composition-api@1.2.4 │ │ │ └── vue@3.2.20 deduped invalid: ">= 2.5 < 3" from node_modules/@vue/composition-api │ │ ├─┬ @vueuse/shared@6.1.0 │ │ │ └── vue@3.2.20 deduped invalid: ">= 2.5 < 3" from node_modules/@vue/composition-api │ │ ├─┬ vue-demi@0.11.4 │ │ │ └── vue@3.2.20 deduped invalid: ">= 2.5 < 3" from node_modules/@vue/composition-api │ │ └── vue@3.2.20 deduped │ └── vue@3.2.20 deduped └── vue@3.2.20