当前位置: 首页 > 知识库问答 >
问题:

ES2015导入在Firefox中不起作用(即使在顶级)

姜育
2023-03-14

以下是我的示例文件:

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
  <script src="t1.js"></script>
</head>
<body></body>
</html>

T1.js:

import Test from 't2.js';

T2.js:

export const Test = console.log("Hello world");

当我在Firefox46中加载该页面时,它返回“SyntaxError:import declarations Mays only Account at top level of a module”--但我不确定import语句在这里还能达到多少顶级。这个错误是不是一个错误,是不是还不支持导入/导出?

共有2个答案

郏正信
2023-03-14

这已经不准确了。现在所有的浏览器都支持ES6模块

从MDN上的import:

这个特性目前还没有在任何浏览器中实现。它在许多Transpiler中实现,如Traceur编译器、Babel或Rollup。

浏览器不支持导入

以下是浏览器支持表:

如果您想导入ES6模块,我会建议使用transpiler(例如,babel)。

庞瀚
2023-03-14

实际上,您得到的错误是因为您需要显式地声明您正在加载一个模块--只有这样才允许使用模块:

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

我在这篇关于在浏览器中使用ES6导入的文档中找到了它。推荐阅读。

在这些浏览器版本中完全支持(及更高版本;caniuse.com上的完整列表):

  • 火狐60
  • Chrome(桌面)65
  • Chrome(android)66
  • Safari 1.1

在较旧的浏览器中,您可能需要在浏览器中启用某些标志:

  • Chrome Canary 60-在chrome:flags中的实验Web平台标志后面。
  • 火狐54-dom.modulescripts.enabledabout:config中设置。
  • Edge 15-在about:flags中的实验性JavaScript功能设置后面。
 类似资料:
  • 问题内容: 这些是我的示例文件: t1.js: t2.js: 当我在Firefox 46中加载页面时,它返回“ SyntaxError:导入声明可能仅出现在模块的顶层” –但是我不确定import语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗? 问题答案: 实际上,您得到的错误是因为您需要明确声明您正在加载模块-只有这样,才允许使用模块: 。推荐阅读。 这些浏览器版本(及

  • 问题内容: 我正在使用节点v6.0.0,并想使用ES2016(ES6)。但是我意识到“导入”语法不起作用。“导入”不是ES2015中编写模块化代码的基础吗?我也尝试使用option 运行节点,但仍然遇到与“导入”相同的错误。这是代码。 没有“导入”的工作代码: 无法使用“导入”执行代码: server.js Number.js 我还检查了http://node.green/以查看受支持的es6,但

  • 问题内容: 我正在尝试通过图像在h1标签中填充文本的内容。按照我的理解;-),我正在html中执行以下操作: 并在css文件中: 事实是,它不能产生预期的结果……就是其中图像为彩色的文本。图像显示在div的整个背景上,而不仅显示在文本后面。此外,文本本身仍为黑色。 我正在Firefox上尝试。没有其他浏览器。 我错过了什么吗? 谢谢你的帮助。 问题答案: 虽然存在,但不存在,因此您将无法在Fire

  • 问题内容: 我里面有一个带有超链接标签的,看起来像这样: 这在Chrome和Safari中效果很好,但在Firefox(已测试20版)中不起作用。 怎么了? 问题答案: 为了使其在所有浏览器中都能正常工作,Firefox也必须将其更改为 或如Billy Moat所建议的那样进行引导,则无需您做

  • 问题内容: 我的CSS文件是: 这是我的HTML代码: 上面的代码在Firefox和Chrome中都可以正常运行。 这在Chrome浏览器中效果很好。但不是在Firefox中。这有什么问题? 问题答案: Firefox 在元素上和/或当源是图像时不支持与Chrome不同的属性。 表示内容图像。如果使用它,它应该有和。 从规格: src属性必须存在,并且必须包含有效的非空URL,该URL可能被引用非

  • 问题内容: 我有一个问题是悬停在Firefox中无法使用!它可以在Chrome,IE 9,IE 8和IE 7中运行。有人知道此问题以及如何解决此问题吗? CSS : HTML : 问题答案: 似乎悬停事件没有反馈到跨度。 尝试选择而不是