这些是我的示例文件:<!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。
这是浏览器支持表:
如果要导入ES6模块,建议使用编译器(例如babel)。

慕标琳琳
TA贡献1830条经验 获得超9个赞
您必须在脚本中指定它的类型,并且导出必须默认为..for,例如,
<script src='t1.js' type='module'>
对于t2.js,在像这样导出后使用默认值,请 导出默认“表达式在这里”(您不能在此处使用变量)。您可以使用这样的功能,
export default function print(){ return console.log('hello world');}
对于导入,您的导入语法应该是这样的, 从'./t2.js'导入打印(使用文件扩展名和./表示同一目录) ..我希望这对您有用!
添加回答
举报
0/150
提交
取消