首页 > 解决方案 > SyntaxError:无法在模块外部使用导入语句 - jsfiddle

问题描述

我试图构建一个 JSFIDDLE 来调试一个 REACT/HIGHCHARTS 问题,但得到以下错误 -

 SyntaxError: Cannot use import statement outside a module

这是我的jsfiddle -

https://jsfiddle.net/5fcguapx/

我在 CONSOLE 中看到了错误声明。

标签: reactjsjsfiddle

解决方案


自 ECMAScript 2015 起,ECMAScript 语言被拆分为两种独立的子语言:ECMAScript “经典”脚本和 ECMAScript模块。由于历史原因,这两种子语言彼此不兼容,也不是彼此的子集。

此外,没有办法可靠地检测 ECMAScript 源是“经典”脚本还是模块,因为有些源既是有效的“经典”脚本又是有效的模块,但根据它们是否被解释为“经典”脚本或作为模块。

最后,没有带内方式表明源是“经典”脚本还是模块,必须从源外部带外传送此信息。

因此,您的问题是您认为您的源被解释为模块,但实际上它被解释为“经典”脚本,并且“经典”脚本import中不允许使用语句,仅在模块中。

你必须告诉你的执行环境这个源是一个模块。你如何做到这一点,取决于你的执行环境,例如在 Node.js 中,它通过文件名(.jsvs. .mjs传达,如果它嵌入在 HTML5 中,它通过元素属性type传达script


推荐阅读