这些是我的示例文件:
<!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");
当我在 Firefox 46 中加载页面时,它返回“SyntaxError:导入声明可能只出现在模块的顶层”——但我不确定导入语句可以到达多少顶层。这个错误是不是一个转移注意力的错误,是不是还不支持导入/导出?
原文由 Christoph Burschka 发布,翻译遵循 CC BY-SA 4.0 许可协议
实际上你得到的错误是因为你需要明确声明你正在加载一个模块 - 只有这样才允许使用模块:
我在 这篇关于在浏览器中使用 ES6 导入的文档 中找到了它。推荐阅读。
这些浏览器版本完全支持(及更高版本; caniuse.com 上的完整列表):
在旧版浏览器中,您可能需要在浏览器中启用一些标志:
chrome:flags
中的实验性 Web 平台标志后面。dom.moduleScripts.enabled
中的设置about:config
。about:flags
中的实验性 JavaScript 功能设置后面。