我正在尝试从另一个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
根据错误信息
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)