Node.js 节点中的Express模块导出函数或对象
在节点中使用express时,我们编写了Node.js 节点中的Express模块导出函数或对象,node.js,express,Node.js,Express,在节点中使用express时,我们编写了app=express(),这表明express模块只导出一个函数,即module.exports=function(){}类似的函数,但在使用静态文件的同时,我们执行类似于app.use(express.static())的操作显示express模块将静态功能作为一项功能导出对象。有人能解释一下这种矛盾是怎么可能的吗?函数在JavaScript中是一流的公民。您可以传递它们,并将它们有效地视为对象: function express() {} expr
app=express()
,这表明express模块只导出一个函数,即module.exports=function(){}
类似的函数,但在使用静态文件的同时,我们执行类似于app.use(express.static())的操作
显示express模块将静态功能作为一项功能导出对象。有人能解释一下这种矛盾是怎么可能的吗?函数在JavaScript中是一流的公民。您可以传递它们,并将它们有效地视为对象:
function express() {}
express.static = function () {};
express.SOME_CONSTANT = 42;
上面的示例允许使用者作为函数调用express()
,或引用express
的任何属性,其中一个恰好是另一个函数
您以前可能在使用内置方法时遇到过这个概念,例如调用
、应用
或绑定
:
function express() {}
const boundExpress = express.bind(someContext);
非常感谢,先生:)