相同点:文件、变量、函数等导出
不同点:module.exports、exports是CommJs规范,而export、export default是es6规范。
对应导入导出方法:
- 导出:export
导入:import {}、require
导入时,注意使用{}包含,且一个文件中可以包含多个export。
- 导出:export default
导入:import、require
导入时,不需要使用{}包含,且一个文件中只能包含一个export default
- 导出:exports/module.exports
导入:require
这里面推荐使用modules.exports。使用exports可能会有意料之外的错误。具体可以去查阅其他文章。
对于上面,大家可以发现,require对于任何规范导入都是支持的。
导入重命名
在import的时候我们可以对导出数据(函数、变量等等)进行重命名
举个栗子:
// 导出的函数名为testproxy
export function testproxy(params){
return request({
url: '/proxy',
method: 'get',
params
})
}
// 在引入时我们将它名字改为test
import { testproxy as test } from "@/api/test/proxy";
其中,我们将testproxy改成了test,在下面的使用中,使用test就相当于使用testproxy。