node中导出(暴露)成员module.exports和exports区别
前言:由于node.js是模块化引用,不同的文件(模块)不能随便调用里面的数据或方法。如果你想调用其它文件的数据或方法需在本文件使用require引用文件,然后在被引用的文件使用module.exports或直接用exports导出(暴露)才可使用其它文件的数据或方法
module.exports和exports区别:node默认是用module.exports来导出文件,但为了方便所以在里面增加了一个module.exports=exports
所以在引用多文件时我们可以直接使用exports(exports.a = 123 exports.b = 456)因为此时没有给exports重新赋值
但如果我们只想引用单个方法或数据 exports=123 这样就是给exports重新赋值了,然后默认导出是module.exports所以exports就没用了也就无法导出了,所以导出单个方法或数据必须用module.exports
总结:只要不给exports或module.exports重新赋值就没问题,重新赋值也只能给module.exports重新赋值。如果实在不清楚那所有的导出都用module.exports
本文来自博客园,作者:封兴旺,转载请注明原文链接:https://www.cnblogs.com/fxw1/p/14088746.html