(若是使用export default默认导出的话,那么在导入绑定的模块中,绑定的对象不要加双大括号)
在第一段代码中是导出了一个函数作为默认值,default关键字表示这是一个默认的导出,也就是可以理解为把后面的匿名函数赋值给...{},这与非默认导入的情况是不一样的,本地名称sub用于表示模块导出的任何默认函数,这在Es6中是常见的做法,并且在一些脚手架里依然采用这种方式引入一些模块的方式非常流行
那么问题来了,如果是要导出默认值或者非默认绑定的模块呢...(在导入变量对象绑定中,使用default as关键关键字无论默认值在前还是非默认值在后,就无所谓了)
模块中重新导出一个绑定
有时候,当你在一个模块中已经导入了内容,这个时候,发现又要将导入的模块暴露给另外一个模块使用...的导出值,那么它无法定义一个新的默认导出的,当一模块中有指定的默认导出,那么上面的写法是会报错的
模块中无绑定导入
有时候,某些模块可能不导出任何变量对象,函数或类,但是,它可能会修改全局作用域中的对象...,尽管模块中的顶层变量,函数和类不会自动的出现在全局作用域中,但是这并不意味模块无法访问全局作用域,内建(系统/内置)对象(如Array和object)的共享定义可以在模块中访问,对这些对象所做的更改将反映在其他模块中