javascript-浏览器如何获取源地图?
作者:互联网
我试图了解源映射的工作方式.我使用nodejs创建了一个只有一页的简单Web服务器.安装了jQuery,它附带了一个缩小的版本和源地图.然后,我在网页上放置一个脚本标签,其中包括jQuery的缩小版本.现在,借助源映射,我可以浏览chrome开发人员工具中未缩小的代码.但是如何?
我分析了从服务器发送的内容,并且未映射源映射.它们未显示在chrome开发人员工具的“网络”标签中,也未包含在缩小的jquery文件的下载内容中.唯一的事情是缩小的jQuery文件末尾的//#sourceMappingURL = jquery.min.map.浏览器如何访问它们?
我在某种程度上想知道,因为在我的工作中我正在创建一个应用程序,并且能够在生产中使用源映射跟踪错误会很高兴.但是现在看来,如果我想允许这样做,那也意味着访问该网站的任何人都可以获取未缩小的代码.那是正确的还是我可以控制如何将源映射从服务器传输到客户端?
编辑:
感谢您的回答.我自己对服务器收到的每个请求进行了记录,从而进行了更多研究.如果使用调试器工具,则源映射是在缩小文件末尾指定的URL上的请求.铬隐藏了这一事实,使材料非常混乱.如果我阻止源地图的传输,则源地图将无法工作,但chrome也将缓存源地图.即如果我允许源映射,请查看它,然后将其阻止,然后再次查看,源映射可能仍然有效.
解决方法:
确实可以传输源地图,但是在当前版本的Chrome中,它们不会显示在“网络”标签中.根据this answer,源映射以前在“网络”选项卡上可见,但是他们决定在某个时候对其进行更改,以使请求不再可见.
关于使源地图保持私有,在this answer中提到的解决方案之一是创建一个.htaccess文件,该文件将源地图的访问限制为来自本地网络的客户端.另一种方法是设置身份验证,因此您必须登录到站点才能查看源地图,否则将获得403.
标签:source-maps,javascript 来源: https://codeday.me/bug/20191027/1947707.html