Node.js自定义模块通过exports的使用,两种暴露的方法及区别
warning:
这篇文章距离上次修改已过252天,其中的内容可能已经有所变动。
在Node.js中,我们可以使用exports
对象来暴露模块的方法和属性,以便其他文件可以使用require
函数引入并使用这些方法和属性。
在另一个文件中,我们可以通过require
函数引入上述math.js
模块,并使用其中定义的方法:
另外,我们也可以使用module.exports
来代替exports
,两者的主要区别在于module.exports
初始值是一个空对象,而exports
初始值是指向module.exports
的引用。
在使用module.exports
时,我们通常会将所有需要暴露的方法或属性直接赋值给它,而不是使用exports
。这样做的好处是,我们不必担心exports
是否指向正确的对象,因为module.exports
始终指向我们想要暴露的对象。
在main.js
中,我们同样可以通过require
函数引入并使用这些方法:
总结两种方式的区别,exports
是module.exports
的引用,因此通过exports
添加的方法和属性也会被添加到module.exports
中。通常推荐使用module.exports
,因为它更直观,更易于理解。
评论已关闭