export { name1, name2, …, nameN }; export { variable1 as name1, variable2 as name2, …, nameN }; export let name1, name2, …, nameN; // also var export let name1 = …, name2 = …, …, nameN; // also var, const export default expression; export default function (…) { … } // also class, function* export default function name1(…) { … } // also class, function* export { name1 as default, … }; export * from …; export { name1, name2, …, nameN } from …; export { import1 as name1, import2 as name2, …, nameN } from …;
在es6标准没出来之前,export啥,require就是啥。
以nodejs为例
你看,这一点都不“模块化”,既然是模块导入进来就应该要有数值,有函数,有车有驴有火锅才行嘛。
那怎么办呢?
标注规定,导出的所有内容必须都有“名字”,你起个别名也可以,反正要有名字!
第一种起名字的方法
第二种起名字的方法
第三种起名字的方法
第一张图里的第二个方法之所以报错,是因为你不用大括号括起来,在编译的时候
m
早就不知道叫什么了,不知道叫什么就没有名字,起不了名字就不能导出。完。
看文档 export on MDN
一共就这么几种形式
你写的两种形式都不包含在内……具体每种形式是什么意思,还是看文档去吧!
https://developer.mozilla.org...
这种问题直接阅读文档就行了。而且你这个图不是从阮一峰的文章里扒过来的?原文就有清晰的说明