首页 > 解决方案 > 我们在 Node.js 程序中实际从 Express 导入什么

问题描述

通常,当我们在 Node 中导入某些内容时,我们会执行以下操作:

const fs = require("fs");
... //use fs's methods for file system stuff

但是,当我们使用 express 时,我们正在做:

const express = require("express");
const app = express();
app.get( .... )

和进口的有什么区别?为什么我们express()像函数一样调用(我假设它导入了某个函数,如果导入了,该函数会做什么)?如果我之前的问题无法解释,为什么我们不调用express我们导入的对象的函数呢?

标签: node.jsexpress

解决方案


你的问题做出了不正确的假设,你说

为什么我们不调用express对象的函数

require("express")返回一个Function.

导出的内容有所不同。一个导出带有附加属性的对象,而另一个导出一个函数。

Express 是后者。见快递来源

exports = module.exports = createApplication;

function createApplication() {...};

虽然 node 执行前者,但node fs source

module.exports = fs = {...};

推荐阅读