我想调试生产网站,但我不想在服务器上上传地图文件(出于隐私原因,因为它是公开的吗?)。
有可能吗?
答案 0 :(得分:17)
我不相信任何浏览器目前都允许从本地文件中按需加载源映射,所以你必须以某种方式将源映射放在网上。
一种解决方案可能是创建一个.htaccess文件(或类似的,如果您不使用Apache),它限制对源图(和原始源文件)的访问,而不是来自本地网络的客户端。
您应该意识到,如果您出于安全原因想要阻止访问源地图,那么您将实现的只是一种虚假的安全感。 Javascript是公开的,即使它被缩小和加密,也很容易解密它。 不将任何敏感数据放入您的javascript中。即使你缩小并加密也不行。
答案 1 :(得分:5)
以下内容可能对您有用
Multi-level Source Maps - CSS Ninja
该链接还解释了使用UglifyJS2可以指定输入源映射。但是,我没有使用本地输入源进行测试
此外,您可以尝试在本地托管该文件并更改hosts
文件,以便将local.mydomain.com
指向localhost
。然后将local.mydomain.com/js/my-orig-js-file.js
指定为源根
答案 2 :(得分:0)
另一种解决方案是在服务器上上传映射文件和缩小的js,并在本地保存原始js文件。然后修改你的地图文件:
{
"version":3,
"sources":["http://localhost/library.js"],
"names":["example","console","log"],
"mappings":"AAAA,QAASA,YACRC,QAAQC,IAAI","file":"script.min.js"
}