出口和module.expors之间有哪些区别

  介绍

这篇文章主要介绍出口和module.expors之间有哪些区别,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

我们在模块化开发中,必须会用到<强>出口/模块。出口这两个玩意导出变量或者函数。因为模块化开发中的每个模块都有自己的模块作用域。
比如:

//a.js   var foo=& # 39;苏小猫& # 39; //研究   console.log (foo)

我们在研究中是没办法访问到a.js中的foo变量,所以研究输出的是“未赋值”。如果我们想在研究模块中访问a.js中的foo变量,我们必须在a.js中用出口或者模块。出口导出foo变量。
比如

//a.js   var foo=& # 39;苏小猫& # 39;;      模块。出口=foo; //研究   var foo=要求(& # 39;。/b.js& # 39;);      console.log (foo);

<强> 出口跟<强> module.expors 的关系和区别?

在开发中,我们很纠结到底用出口还是module.exports,其实出口跟module.exports就是一个玩意,出口只是module.exports的一个引用. export跟模块。出口是等价的。我们可以在节点里测试一下。

每个模块最终返回的还是返回module.exports;

在我们平常的理解中导出单个变量或者单个函数就用module.exports;

模块。出口=function () {   console.log(“在你心里种点Bnum")   }//我们需要之后就会得到一个[功能]

导出多个变量就用出口;

exports.name=八招∶ā?   出口。树=function () {   console.log(“在你心里种点Bnum")   }//我们需要之后就会得到一个对象{名称:“苏小猫“,树:[功能]}

出口和module.exports本身就是一个空对象,exports.xxx就等于在一个对象里面添加东西。

<强>为什么module.exports导出的是单个?

因为它本来是一个空对象,module.exports=xxx。现在你重新给它赋值了,所以它只导出这个xxx。

如果给出口(出口={})重新赋值,这时它的意义就不同了,现在的出口,跟module.exports没有了半毛钱的关系了,出口。xxx=xxx;再往里面添加东西已经不会再影响最后返回回来的返回模块。出口了。

看,现在年龄已经不进入最后的返回module.exports里面了。

如果还想继续用exports.xxx,那就得重新再给module.exports赋值给出口。

看,现在又生效了。

如果很纠结在开发中到底用很出口,还是module.exports,那就忘记出口吧(忘记它,我们不需要备胎,哈哈哈哈)。
一开始就是说了,出口本身就是module.exports的一个引用. export能做的模块。出口都能做。比如导出多个变量或者函数。

出口和模块。expors之间有哪些区别

以上是出口和module.expors之间有哪些区别的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注行业资讯频道!

出口和module.expors之间有哪些区别