当前位置: 首页 > 面试题库 >

ES6模块导入,给出“未捕获的SyntaxError:意外的标识符”

巩镜
2023-03-14
问题内容

对于个人项目,我正在尝试使用ES6
import编写更简洁的代码。作为第一个测试,我正在编写一个应生成菜单的对象。当我直接加载类时,整个代码都在工作,但是在ES6中使用导入和导出时,它在以下import行中给出了“未捕获的SyntaxError:意外的标识符”错误main.js

我有以下文件:

资产/js/menu.module.js

'use strict';

export default class Menu
{ ... }

资产/js/main.js

import Menu from "./menu.module.js";

window.addEventListener('DOMContentLoaded', () => {
    const menu = new Menu();
});

index.html

<script type="module" src="assets/js/menu.module.js"></script>
<script src="assets/js/main.js">

请注意,这些只是相关的代码行。

是否使用<script type="module">线路似乎对我没有任何影响。我确实同时启用了实验性和ES6模块的chrome标志,因为没有它们,我会收到关于import定义的错误。

Chrome版本为62,因此根据不同的来源(包括Google的更新日志本身),即使没有这些标志,它也应该可以正常工作。

有人能启发我为什么这不起作用以及我在做什么错吗?


问题答案:

正如@Bergi在评论中提到的,在HTML中添加type="module"main.js导入行解决了该问题。现在一切正常。即

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

感谢所有响应并尝试提供帮助的人。



 类似资料:
  • 对于个人项目,我试图使用ES6导入来编写更干净的代码。作为第一个测试,我正在编写一个应该生成菜单的对象。当我直接加载类时,整个代码都在工作,但是当在ES6中使用导入和导出时,它在中的行上给出了一个“未捕获的同步错误:意外标识符”错误 我有以下文件: assets/js/menu。单元js assets/js/main。js index.html 请注意,这些只是相关的代码行。 使用

  • 本文向大家介绍未捕获到的SyntaxError:意外标记相关面试题,主要包含被问及未捕获到的SyntaxError:意外标记时的应答技巧和注意事项,需要的朋友参考一下 错误在您的服务器端,当您的服务器端发生错误时,响应将带有html标记“ <”,而在发生错误时php将在错误消息中添加标记。因此,您的json包含html标记,并且由于意外的标记而变得无效。 错误在此数组内 它应该是 (问题来源是描述

  • 问题内容: 阅读MDN生成器的文档后,我想到了一个简单的实验: 在设置了标志的node.js v0.11.9上运行它会产生以下错误: 我也尝试使用and 关键字代替,但是没有成功。 我不明白到底是什么,但是如果我在循环中使用它,我会得到: 如果我用输出替换for中的收益,则和。我究竟做错了什么? 编辑 这是一个简约的生成器,显示node.js知道如何处理生成器: 输出: 解决方案(感谢@Andre

  • 我正在尝试用我的网页包项目设置Jest。当我运行测试时,Jest抱怨它无法读取es6代码。巴贝尔似乎没有转换我的测试文件。 我尝试过在互联网上找到的各种解决方案,但我仍然感到困惑。也许有人有更多的巴别塔/网页包知识,可以看看我的配置,帮助我。 相关package.json脚本: 有关package.json: 配置/webpack.config.js: config/jest.config.js

  • 问题内容: 我是 ES6 (ECMAScript 6)的新手,我想在浏览器中使用其 模块系统 。我阅读了Firefox和Chrome支持的ES6,但是使用时出现以下错误 我有一个test.html文件 和一个test.js文件 为什么? 问题答案: 现在,许多现代浏览器都支持ES6模块。只要您使用脚本导入脚本(包括应用程序的入口点)即可。 请访问caniuse.com了解更多详细信息:https

  • 问题内容: 我在MooTools脚本中运行AJAX调用,在Firefox中运行正常,但是在Chrome中出现错误,我无法确定原因。注释掉代码以确定错误代码在什么地方不会产生任何结果,我认为这可能与返回JSON有关。在控制台中检查,我看到返回的JSON是这样的: 我没有看到任何问题,为什么会发生此错误? 问题答案: 我刚刚解决了这个问题。导致标准Request调用出现问题的原因是,这是我改用的代码: