加载模块时出现“未捕获到的SyntaxError:意外令牌{”

时间:2019-06-05 13:40:19

标签: javascript ecmascript-6 module

我想将部分代码移到JS模块中,但是当我这样做时,我得到了:

Uncaught SyntaxError: Unexpected token {在script.js的第3行上

script.js 开始如下:

'use strict'

import {MyClass} from "./module.js";

module.js 开始如下:

'use strict';

export class MyClass {

两个文件都在正文末尾的 index.html 中导入:

<script src="js/module.js" type="module"></script>
<script src="js/script.js"></script>

当我将对 script.js 的引用更改为type="module"时,不再抛出该错误,但是我无法在onload等中使用任何script.js的功能。

1 个答案:

答案 0 :(得分:0)

只要您在导入中使用type="module",某些浏览器就支持ES6模块。所以您需要这样:

<script src="js/script.js" type="module"></script>

现在,您说您不能在执行此操作时使用script.js中的函数。你可以再详细一点吗 ? (通过共享代码,可能会出错)