node.js - Express如何知道这条路由?

标签 node.js express

我创建一个简单的 Express 服务器并提供静态文件

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

app.use(express.static('public'));

app.listen(3000, () => {
console.log('Listening on port 3000')
})

当我前往 localhost:3000 时,公共(public)目录中的 index.html 会呈现路由“/”。我没有在 index.js 文件中明确写入路线。 Express 是如何知道这一点的?

我尝试将文件名从index.html更改为random.html,但出现错误。无法获取/

最佳答案

正如评论中提到的,app.use(express.static('public')) 负责此操作。这实际上将为项目中的 public 文件夹中的所有文件提供服务。如果您的 public 文件夹中有 index.html,那么该文件将自动在 / 端点上提供。这是大多数网站遵循的约定,并记录在this SO post中。 .

这里是express.static(...)的相关文档:https://expressjs.com/en/starter/static-files.html

关于node.js - Express如何知道这条路由?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54283189/

相关文章:

javascript - JWT:在到期后一分钟或更短时间内将新 token 传递给客户端。坏主意还是好主意?

node.js - Mongoose 与 promise 截然不同

node.js - 跨域应用程序的快速 session 不发送 cookie

node.js - 带有React的Socket.io在出现5条消息后表现异常

node.js - 如何在express.js中启用 session

node.js - 登录前阻止 NodeJS 和 Sockei.io 的响应

javascript - Express sessionID 根据每个客户端的请求而更改

javascript - 如何在node.js和express上的Restful API中设置编码UTF-8或WINDOWS_CP_1251

javascript - HttpOnly cookie 不会从下一个 js getServerSideProps 使用 axios 发送(withCredentials : true)

javascript - 如何用 express 发送102处理?