导入时出现“未捕获到的SyntaxError:意外令牌{”

Hyr*_*ial 8 javascript

我正在尝试从另一个JavaScript文件导入函数,但是中的import语句发生错误main.js

main.js

import {Event} from 'event.js';

let asdf = new Event("hi", "hi", "hi");
console.log(asdf.title);
console.log(asdf.mainText);
console.log(asdf.buttonSet);
Run Code Online (Sandbox Code Playgroud)

event.js

export function Event(title, mainText, buttonSet) {
    this.title = title;
    this.mainText = mainText;
    this.buttonSet = buttonSet;
}
Run Code Online (Sandbox Code Playgroud)

我查看了语法,没有发现任何错误:

https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Statements/import

另外,我在此链接中运行了代码片段,并得到了相同的错误。 浏览器中的ES6:未捕获的语法错误:意外的令牌导入

编辑: 更正的index.html文件:

<script src="scripts/main.js" type="module"></script>
Run Code Online (Sandbox Code Playgroud)

Jar*_*a X 17

根据错误信息

  1. 您正在运行Chrome,
  2. 您尚未type="module"在script标签中设置

我正在尝试找到一些有关脚本标签的模块类型的好的文档,但这是迄今为止我能找到的最好的文档

因此,如果您的脚本标签是

<script type="application/javascript">
import {Event} from "event.js";
......
</script>
Run Code Online (Sandbox Code Playgroud)

甚至是以下情况(因为类型是可选的)

<script>
import {Event} from "event.js";
......
</script>
Run Code Online (Sandbox Code Playgroud)

更改为

<script type="module">
import {Event} from "event.js";
......
</script>
Run Code Online (Sandbox Code Playgroud)

  • 因为我遇到了同样的错误,但我不知道如何解决! (3认同)