为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

qq_花开花谢_0 2019-10-19 16:26:24
这些是我的示例文件:<!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语句可以在此处获得多少顶层。此错误是红色鲱鱼吗,并且尚不支持导入/导出吗?
查看完整描述

3 回答

?
幕布斯6054654

TA贡献1876条经验 获得超7个赞

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


下面的原始答案

来自importMDN:


目前,任何本地浏览器均未实现此功能。它已在许多编译器中实现,例如Traceur编译器,Babel或Rollup。


浏览器不支持import。


这是浏览器支持表:

//img1.sycdn.imooc.com//5daac8d50001685b13800440.jpg

如果要导入ES6模块,建议使用编译器(例如babel)。


查看完整回答
反对 回复 2019-10-19
?
慕标琳琳

TA贡献1830条经验 获得超9个赞

您必须在脚本中指定它的类型,并且导出必须默认为..for,例如,


<script src='t1.js' type='module'>

对于t2.js,在像这样导出后使用默认值,请 导出默认“表达式在这里”(您不能在此处使用变量)。您可以使用这样的功能,


export default function print(){ return console.log('hello world');}

对于导入,您的导入语法应该是这样的, 从'./t2.js'导入打印(使用文件扩展名和./表示同一目录) ..我希望这对您有用!


查看完整回答
反对 回复 2019-10-19
  • 3 回答
  • 0 关注
  • 362 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信