我试图渲染静态页面在我的公共文件夹,但当我尝试渲染pagenotfound中间件上来,当我删除中间件,我不断得到以下错误
Cannot GET /
这是我在app.js中的代码
const express = require('express')
const app = express()
const signup = require('./routers/sign-up')
const pagenotfound = require('./middleware/pagenotfound')
// middleware
app.use(express.static('./public'))
app.use(express.json())
app.use('/api/v1/', signup)
app.use(pagenotfound)
const port = process.env.PORT || 3000
const start = async () => {
try {
app.listen(port, console.log(`Server is listening on port ${port}...`))
} catch (error) {
console.log(error)
}
}
start()
公共文件夹的结构是
Index.html
css folder
javascript frontend
static
中间件查找相对于node
进程运行的文件夹的文件,因此您的代码只有在包含public
文件夹时才能工作。指定公共文件夹的完整路径,例如
app.use(express.static(__dirname + '/public'))
如果public
文件夹与app.js
文件夹在同一目录。