ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Source Map

2022-09-04 04:30:08  阅读:147  来源: 互联网

标签:map source devtool Source 行数 Map


1.什么是Source Map

  Source Map就是一个信息文件,里面储存着位置信息。也就是说Source Map文件中存储着压缩混淆后的代码,所对应的转换前的位置。

有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码,能够极大的方便后期的调试

  默认Source Map的问题

    开发环境默认生成的Source Map,记录的是生成后的代码位置,会导致运行时报错的行数与源代码的行数不一致的问题。

  解决默认Source Map的问题

    开发环境下,推荐在webpack.config.js中添加如下的配置,即可保证运行时报错的行数与源代码的行数保持一致:

  

module.exports = {
    mode:'development',
    //eval-source-map 仅限在‘开发模式’下使用,不建议在‘生成模式’下使用
    //此选项生成的Source Map能够保证”运行时报错的行数“与:源代码的行数”保持一致
    devtool:'eval-source-map',
    //省略其它配置项
}

  webpack生产环境下的Source Map

  在生产环境下,如果省略了devtool 选项,则最终生成的文件中不包含Source Map,这能够防止原始代码通过Source Map的形式暴露给别有所图之人。

  只定位行数,不暴露源码

    //建议开发环境使用   devtool:'eval-source-map',     //只定位行号,不显示代码,建议正式环境使用,或直接不使用     devtool:'nosoures-source-map', 4.sourceMap的最佳实践   1.开发环境下:     建议把devtool的值设置为eval-source-map     好处:可以精准定位到具体的错误行   2.生产环境下:     建议关闭Source Map 或将devtool的值设置为nosources-source-map     好处:防止源码泄露,提高网站的安全性  

标签:map,source,devtool,Source,行数,Map
来源: https://www.cnblogs.com/funkyd/p/16654179.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有