首页 >web前端 >js教程 >在 ArcGIS JSAPI 中导入 ES6 模块时,为什么会收到'未捕获的语法错误:无法在模块外部使用导入语句”?

在 ArcGIS JSAPI 中导入 ES6 模块时,为什么会收到'未捕获的语法错误:无法在模块外部使用导入语句”?

Susan Sarandon
Susan Sarandon原创
2025-01-05 00:18:40390浏览

Why am I getting

导入 ECMAScript 6 时“未捕获的语法错误:无法在模块外使用 import 语句”

尝试使用空间幻觉进行绘制时使用 ArcGIS JSAPI 4.12 在地图上显示军事符号时,可能会遇到错误“未捕获”语法错误:导入 milsymbol.js 时无法在模块外部使用 import 语句”。此问题的根源在于使用 import 关键字的 ECMAScript 6 (ES6) 模块需要 <script> 。元素具有 type="module" 属性。</script>

将 type="module" 添加到 <script> 中元素将解决无法在模块之外使用导入语句错误。但是,这可能会导致另一个错误:“Uncaught ReferenceError: ms is not Defined”。出现这种情况是因为 milsymbol.js 文件包含 ES6 模块,并且必须使用 import 语法而不是 require 导入 ES6 模块。</script>

要纠正此问题,请通过添加 "type": "module 来更新 package.json 文件”。这将通知 JavaScript 引擎您的代码正在使用 ES6 模块。

{
  // ...
  "type": "module",
  // ...
}

或者,您可以使用 Rollup 或 Webpack 等捆绑器将代码捆绑到可以包含在标准中的单个文件中

在空间幻觉的上下文中,官方文档没有在 <script> 中指定 type="module"元素,因为他们假设您正在使用捆绑器。如果您不使用捆绑程序,则需要将 type="module" 添加到 <script> 中。元素并使用 "type": "module".</script>

更新您的 package.json 文件

以上是在 ArcGIS JSAPI 中导入 ES6 模块时,为什么会收到'未捕获的语法错误:无法在模块外部使用导入语句”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn