javascript - 加载模块时出现“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 的任何函数。
解决方案
只要您type="module"
在导入中使用,一些浏览器就支持 ES6 模块。所以你需要让它像这样:
<script src="js/script.js" type="module"></script>
现在您说执行此操作时不能使用 script.js 中的函数。你可以再详细一点吗 ?(通过共享代码和错误可能)
推荐阅读
- c# - 使用 MouseEnter() 事件引用父级?(或任何其他事件)
- spring-cloud - Spring boot admin 显示网关服务器关闭的状态
- flutter - 在 Flutter 中跨页面保留状态
- django - SlugField 的 unique_for_date 参数
- python - tprint from art 的多个论据
- sql - 如何使用 where 子句更新为 SET Table1.ColumnX = Table2.ColumnX
- python - 如何从 timedelta 列表中选择数据
- ios - 如何使转义完成处理程序参数可选?
- json - 有什么方法可以导出 WA 对话并将 .json 转换为流程图(类似于 Visio)?
- java - 具有固定大小的 JScrollPane 中的 JTree