1.export {default as Sum} from './sum'
解释:从./sum文件中导入默认模块,并以Sum为别名导出。
是es6原生支持的导入再导出语法,等价于以下代码
import Sum from './sum'
export {Sum}
2.import {A,B,C} from './components'
解释:将./components目录作为一个模块,导入其中的A,B,C。
并没有在webpack的官方文档中出现,猜测是因为webpack是基于nodejs的,所以沿用了nodejs中commonjs模块的解析规则。
在nodejs的commonjs模块实现中,如果导入的模块是一个目录会先查找目录下的package.json文件是否存在,文件中是否指定了main字段,如果没有则查找index.js,index.node文件将他们作为模块导入,如果仍未找到则抛出错误
3.导入文件时,路径中省略文件后缀名的配置
这个功能是webpack提供的,在webpack的配置中用resolve.extensions指定一个包含文件扩展名的数组,数组中包含的文件扩展名,在导入时可以省略。
在vue-cli中这一配置可以在在node_modules/@vue/cli-service/lib/config目录下,base.js文件中找到。也可以在vue.config.js文件中添加自己的相关配置。