首页 > 解决方案 > 加载模块时出现“Uncaught SyntaxError: Unexpected token {”

问题描述

我想将我的部分代码移动到 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 的任何函数。

标签: javascriptecmascript-6module

解决方案


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

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

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


推荐阅读