ArcGIS JS 异常之:Invalid language tag: RangeError: Invalid language tag:

使用默认的PopupTemplate显示点击查询的内容,点击后报错:

Invalid language tag: RangeError: Invalid language tag: at new NumberFormat (<anonymous>) at o (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:273) at c (webpack-internal:///./node_modules/@arcgis/core/intl/number.js:14:716) at f (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:1386) at u (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:504) at eval (webpack-internal:///./node_modules/@arcgis/core/intl/substitute.js:14:214) at eval (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:191) at [Symbol.replace] (<anonymous>) at String.replaceAll (<anonymous>) at r (webpack-internal:///./node_modules/@arcgis/core/core/string.js:15:78)

尝试AI解决,乱搞一通,越搞越乱。后面问ChatGPT,原因如下:

这个报错本质上不是"查询"本身的问题,而是 ArcGIS JS 在做字符串格式化(number/intl substitute)时,拿到了一个非法的语言标签(locale)

解决方法:

方案一:

javascript 复制代码
esriConfig.locale = "zh-CN";   // 简体中文

方案二:

ArcGIS JS 会自动读取html文件lang属性,如果该属性为空字符,会报错。改为正确的

html 复制代码
<html lang="zh">
相关推荐
明月_清风5 小时前
性能级目录同步:IntersectionObserver 实战
前端·javascript
明月_清风5 小时前
告别暴力轮询:深度解锁浏览器“观察者家族”
前端·javascript
摸鱼的春哥5 小时前
Agent教程17:LangChain的持久化和人工干预
前端·javascript·后端
子兮曰14 小时前
async/await高级模式:async迭代器、错误边界与并发控制
前端·javascript·github
柳杉19 小时前
从零打造 AI 全球趋势监测大屏
前端·javascript·aigc
simple_lau19 小时前
Cursor配置MasterGo MCP:一键读取设计稿生成高还原度前端代码
前端·javascript·vue.js
睡不着先生19 小时前
如何设计一个真正可扩展的表单生成器?
前端·javascript·vue.js
进击的尘埃19 小时前
AI 代码审查工具链搭建:用 AST 解析 + LLM 实现自动化 Code Review 的前端工程方案
javascript
juejin_cn19 小时前
[转][译] 从零开始构建 OpenClaw — 第五部分(对话压缩)
javascript
willow21 小时前
Promise由浅入深
javascript·promise