NodeJS 为什么我在express应用程序中收到“无法获取/”错误消息?

j2datikz  于 2023-03-29  发布在  Node.js
关注(0)|答案(2)|浏览(87)

我刚开始学习后端开发,所以这可能是一个非常简单的错误。在浏览器中输入localhost:3000后,我得到了一个错误“Cannot Get /”。下面是我的index.js文件和路由器模块。它们都在同一个文件夹中,'basic-node-site':

const express = require("express")
const router = express.Router()
const path = require('path')

router.get("/", function (req,res){
    res.sendFile(path.join(__dirname, '/index.html'))
})

router.get("/contact-me", function (req,res){
    res.sendFile(path.join(__dirname, '/contact-me.html'))
})

router.get("/about", function (req,res){
    res.sendFile(path.join(__dirname, '/about.html'))
})

module.exports = router
const router = require('./route-module.js')
const express = require("express")
const app = express()
const port = 3000
app.use(express.static('basic-node-site'))

app.use("/route-module", router)


app.listen(3000, function(){
    console.log("listening on port 3000")
})

我尝试了多个不同的路径名,以防我误解了它们的格式。每次我得到“无法获取/”,我希望在浏览器中显示HTML文件。

xcitsw88

xcitsw881#

index.js文件中的路径不准确,可以更改吗

app.use("/route-module", router)

到下面

app.use("/", router)
icnyk63a

icnyk63a2#

你不去public文件夹. index.html文件和其他html文件是在public文件夹对吗?你应该这样做:

router.get("/", function (req,res){
    res.sendFile(path.join(__dirname, 'public/index.html'))
})

router.get("/contact-me", function (req,res){
    res.sendFile(path.join(__dirname, 'public/contact-me.html'))
})

router.get("/about", function (req,res){
    res.sendFile(path.join(__dirname, 'public/about.html'))
})

如果你觉得合适就告诉我。

相关问题