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

es6模块加载export的输出值有点没太搞明白

es6模块加载export的输出值有点没太搞明白

牛魔王的故事 2018-11-14 13:33:06
这样为什么会报错呢为什么这样就可以呢? 那个大括号的作用是什么 是语法就这样吗
查看完整描述

1 回答

?
慕的地6264312

TA贡献1817条经验 获得超6个赞

在es6标准没出来之前,export啥,require就是啥。

以nodejs为例

// ./fk.js

export 'fk';


// ./main.js

var fk = require('./fk');

console.log(fk); // output "fk"

你看,这一点都不“模块化”,既然是模块导入进来就应该要有数值,有函数,有车有驴有火锅才行嘛。

那怎么办呢?
标注规定,导出的所有内容必须都有“名字”,你起个别名也可以,反正要有名字!

第一种起名字的方法

export var/let/const 名字=值

第二种起名字的方法

var/let/const 变量=值export {变量} 或 export {变量 as 别名}

第三种起名字的方法

export default 值

第一张图里的第二个方法之所以报错,是因为你不用大括号括起来,在编译的时候m早就不知道叫什么了,不知道叫什么就没有名字,起不了名字就不能导出。


查看完整回答
反对 回复 2018-12-15
  • 1 回答
  • 0 关注
  • 470 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号