我创建了一个简单的快递服务器并提供静态文件
const express = require('express');
const app = express();
app.use(express.static('public'));
app.listen(3000, () => {
console.log('Listening on port 3000')
})
当我转到localhost:3000时,公共目录中的index.html会为路由“ /”呈现。我没有在index.js文件中明确编写路由。表达如何知道这一点?
我尝试将文件名从index.html更改为random.html,但出现错误。无法获取/
答案 0 :(得分:1)
如评论中所述,app.use(express.static('public'))
对此负责。这实际上将为您在项目中拥有的public
文件夹中的所有文件提供服务。如果您在index.html
文件夹中有一个public
,那么它将自动在/
端点上提供。这是大多数网站都遵循的约定,并记录在this SO post中。
以下是express.static(...)
的相关文档:https://expressjs.com/en/starter/static-files.html