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

这些是我的示例文件:


<!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:导入声明可能仅出现在模块的顶层”-但我不确定import语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗?


qq_花开花谢_0
浏览 363回答 3
3回答

幕布斯6054654

这不再准确了。 现在所有当前的浏览器都支持ES6模块下面的原始答案来自importMDN:目前,任何本地浏览器均未实现此功能。它已在许多编译器中实现,例如Traceur编译器,Babel或Rollup。浏览器不支持import。这是浏览器支持表:如果要导入ES6模块,建议使用编译器(例如babel)。

慕标琳琳

您必须在脚本中指定它的类型,并且导出必须默认为..for,例如,<script src='t1.js' type='module'>对于t2.js,在像这样导出后使用默认值,请 导出默认“表达式在这里”(您不能在此处使用变量)。您可以使用这样的功能,export default function print(){ return console.log('hello world');}对于导入,您的导入语法应该是这样的, 从'./t2.js'导入打印(使用文件扩展名和./表示同一目录) ..我希望这对您有用!
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript