OpenLayers 4在Visual Studio 2017中本地名称显示异常问题咨询
解决OpenLayers 4在IE调试时类名显示为随机字符的问题
我之前调试OpenLayers项目时也碰到过一模一样的问题,结合OpenLayers 4的特性和IE调试的坑,给你几个实用的排查和解决方向:
切换到OpenLayers调试版库文件
大概率你当前引入的是生产环境的压缩版ol.js,这类文件会把变量、类名混淆成随机短字符来减小体积。你需要换成未压缩的调试版ol-debug.js——这个文件在OpenLayers 4的发布包或者npm安装的node_modules/ol/dist目录里都能找到。替换之后,调试时就能看到feature、geometry这类原始的类名和变量标识了。检查IE调试工具的脚本映射与缓存
有时候即使换了调试版,IE可能还在加载缓存的压缩脚本。按F12打开开发者工具,切换到「调试器」标签,找到加载的OpenLayers脚本:- 如果显示的是压缩后的代码,右键点击脚本文件,选择「映射到源文件」,手动关联本地的
ol-debug.js; - 同时可以点击工具右上角的「清除缓存」按钮,强制刷新加载最新的脚本文件。
- 如果显示的是压缩后的代码,右键点击脚本文件,选择「映射到源文件」,手动关联本地的
调整Visual Studio 2017的调试配置
打开项目属性的「Web」选项卡,检查以下设置:- 确保「调试器」区域勾选了「JavaScript」调试;
- 确认没有启用「自动压缩脚本」之类的选项,避免VS在调试时自动压缩OpenLayers的代码;
- 最后右键项目选择「清理」,再重新生成项目,清除旧的缓存文件。
确认Source Maps文件存在
OpenLayers调试版的ol-debug.js通常会配套一个ol-debug.js.map文件,这个文件能帮助调试工具把代码映射回原始结构。确保这个.map文件和ol-debug.js放在同一目录下,IE会自动加载它,如果没有的话,可能需要手动下载对应的映射文件。
内容的提问来源于stack exchange,提问作者LukeO
相关产品推荐
相关产品推荐

