javascript 源映射:将映射文件保留在本地,仅用于调试生产 javascript

问题描述 投票:0回答:4

我想调试生产网站,但我不想将地图文件上传到服务器上(出于隐私原因,因为它是公开的?)。

可以吗?

javascript google-chrome source-maps
4个回答
17
投票

我认为目前没有任何浏览器允许从本地文件按需加载源映射,因此您必须以某种方式将源映射放到网上。

一种解决方案可能是创建一个 .htaccess 文件(或类似的文件,如果您不使用 Apache),限制非来自本地网络的客户端对源映射(和原始源文件)的访问。

但您应该意识到,如果您出于安全原因想要阻止访问源映射,那么您将获得的只是一种错误的安全感。 JavaScript 是公开的,即使它被缩小和加密,解密它也相当容易。请勿在 JavaScript 中放入任何敏感数据。即使您缩小并加密它也不会。


5
投票

多级源映射

- CSS Ninja 该链接还解释了使用

UglifyJS2

可以指定输入源映射。但是,我还没有使用本地输入源进行测试 此外,您可以尝试在本地托管该文件并更改

hosts

文件以将

local.mydomain.com
之类的内容指向
localhost
。然后指定
local.mydomain.com/js/my-orig-js-file.js
作为源根
    


0
投票

{ "version":3, "sources":["http://localhost/library.js"], "names":["example","console","log"], "mappings":"AAAA,QAASA,YACRC,QAAQC,IAAI","file":"script.min.js" }



0
投票

第一个想法是使用像“serve”这样的本地主机静态服务器来为您的地图文件提供服务。 您可以使用:

serve -s mapDirectory

命令创建一个本地主机 Web 服务器来提供您想要的地图文件。 然后:


打开开发工具,
  1. 打开“源”选项卡,找到要添加源映射的缩小后的 js 文件。 3)点击要调试的js文件,在编辑器端右键单击并选择添加源映射。
  2. 添加地图文件所在的 localhost url
  3. 有关如何执行此操作的更多信息和视频,请访问:
https://developer.chrome.com/docs/devtools/javascript/source-maps

© www.soinside.com 2019 - 2024. All rights reserved.