在Express中提供静态文件(express.static与app.static)

时间:2020-08-12 00:04:36

标签: node.js express

通过在Express中提供静态文件。我看到了以下代码:

const express    = require('express');
const app        = express();

// Initialize the main project folder
app.use(express.static('website'));

为什么我们没有使用app.static()而不是express.static(),因为我们已经将express()分配给了app常量,它们之间有什么区别?

注意:我尝试将express替换为app,并说app.static is not a function。我还看到一些使用app.static()的NPM软件包,例如wamjs,这很奇怪。

1 个答案:

答案 0 :(得分:1)

app.static()与Express无关。

Wam是一个完全不同的框架(在某些方面可能类似于Express,但它不是Express,也不等同于Express)。这是关于NPM wam.js page的描述:

Wam是一个小型koa和next.js启发的节点中间件框架

如果要使用Express进行编程,请使用Express文档而不是Wam文档,它将指导您使用app.use(somePath, express.static())。您可以在Express doc for the app object中看到,没有提及app.static()。这显然是wasm.js为自己的框架发明的。

为什么我们不使用app.static()而不是express.static(),因为我们已经将express()分配给应用常量,它们之间有什么区别?

因为Express没有app.static()。它有express.static()

我还看到了一些使用app.static()的NPM软件包,例如wamjs,这很奇怪。

我不会觉得很奇怪。 wamjs是具有不同API的其他软件包。它不是Express,因此不应期望Express的行为类似于wamjs或wamjs的行为类似于Express。它们是不同的框架。