exports、module.exports以及export和export default的区别

1.相同点(作用)

exports、module.exports以及export和export default这四者均是用来进行模块化代码进行导出方法和属性,功能有一样的地方。但是用法就有一点小区别。

2.区别(用法)

exports和module.exports导出的方法和属性需要用require(...js)去引入,而且exports是module.exports的引用,而且能直接重置module.exports = {};但是不能重置exports={},因为重置exports只是重置了指向,实际上导出的还是module.exports,所以exports={}其实是无意义的。

exports的用法主要是exports.fun1=fun1;exports.a= a;

而module.exports的用法主要是module.exports={fun1:fun1,a:a}当然也可以module.exports.fun1=fun1;module.exports.a= a;

所以这里建议使用module.exports方法

而export和export default是es6的语法,导入的时候要用imports * from '...js',两者的区别主要是用export导出的数据,引入的时候需要加个{}或者*,即一个js里面是可以有多个export导出的,但是只能有一个export default导出。因此引用export default的导出只需要直接引用就行了。不用加上{},而且通过imports * as 模块名 from '...js',能直接引用export导出的内容,而export default的内容的使用则是 模块名.default

参考链接:https://blog.csdn.net/qq_31967569/article/details/82461499

猜你喜欢

转载自www.cnblogs.com/linzewei27/p/12736890.html