导入 ECMAScript 6 时“未捕获的语法错误:无法在模块外部使用导入语句”
将 milsymbol.js 库合并到 ArcGIS 中时JSAPI 项目在地图上显示军事符号时,您可能会遇到类似“Uncaught SyntaxError: Cannot use import statements Outside a module”或“未捕获的 ReferenceError:未定义 ms。”
了解错误
第一个错误,“Uncaught SyntaxError:无法在模块外部使用 import 语句, " 表示模块上下文之外不支持导入语法。要解决此问题,您必须将 type="module" 添加到加载 milsymbol.js 的脚本元素中。
出现第二个错误“Uncaught ReferenceError: ms is not Defined”,因为在以下情况下未定义 ms 变量使用导入语法。这是因为导入语句解析为模块的默认导出。在 milsymbol.js 中,默认导出为 { ms },因此您需要将其导入。
修复错误
<script type="module" src="milsymbol-2.0.0/src/milsymbol.js"></script>
import { ms } from 'milsymbol-2.0.0/src/milsymbol.js';
了解官方文档
在官方空间幻觉文档中,您可能会注意到脚本元素没有 type="module"。这是因为该文档针对使用 Webpack 或 Rollup 等捆绑器来捆绑代码的用户。使用捆绑器时,不需要 type="module",因为捆绑器会自动处理模块解析。
结论
按照上述步骤,您可以可以解决将 ECMAScript 6 模块导入 ArcGIS JSAPI 项目时遇到的错误。如果您需要混合和匹配 require 和 import 语法,请记住考虑使用捆绑器。
以上是将 milsymbol.js 导入 ArcGIS JSAPI 时,为什么会出现'未捕获的语法错误:无法在模块外部使用导入语句”?的详细内容。更多信息请关注PHP中文网其他相关文章!