大佬教程收集整理的这篇文章主要介绍了NodeJS / Express中的“ module.exports”和“ exports.methods”是什么意思?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
更具体:
module
是文件内的全局范围变量。
因此,如果您致电require("foo")
:
// foo.Js
console.log(this === module); // true
它的行为与window
在浏览器中的行为相同。
还有一个称为的全局对象global
,您可以在所需的任何文件中进行读写,但这涉及到更改全局范围,这就是
exports
是存在的变量module.exports
。基本上,这是您在需要文件时 导出 的内容。
// foo.Js
module.exports = 42;
// main.Js
console.log(require("foo") === 42); // true
单独存在一个小问题exports
。在_global范围上下文+和module
是
一样的。(在浏览器中,全局范围上下文与之window
相同)。
// foo.Js
var exports = {}; // creates a new local variable called exports, and conflicts with
// living on module.exports
exports = {}; // does the same as above
module.exports = {}; // just works because its the "correct" exports
// bar.Js
exports.foo = 42; // this does not create a new exports variable so it just works
查看的框架的随机源文件,有两行我不理解的代码(这些代码行几乎是所有NodeJS文件的代表)。express``NodeJS
/**
* Expose `Router` constructor.
*/
exports = module.exports = Router;
和
/**
* Expose HTTP methods.
*/
var methods = exports.methods = require('./methods');
我知道 第一段代码 允许文件中的其余功能公开给NodeJS应用程序使用 ,但我不清楚 它的工作原理 或该行代码的含义。
我相信第二段代码允许访问文件中的函数methods
,但同样,它是如何做到这一点的。
基本上,这些是什么神奇的话: module
和 exports
?
以上是大佬教程为你收集整理的NodeJS / Express中的“ module.exports”和“ exports.methods”是什么意思?全部内容,希望文章能够帮你解决NodeJS / Express中的“ module.exports”和“ exports.methods”是什么意思?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。