Node.js 使用Express从URL中删除文件名

Node.js 使用Express从URL中删除文件名,node.js,express,web,Node.js,Express,Web,当我在Nodejs上托管我的前端时,我使用app.use(express.static(path.join(u dirname,“public”))。然而,这使我把HTML文件的名称放在URL的末尾;例如,localhost:3000/index.html 如何使其在基本URL处显示前端,在本例中为“localhost:3000/”。我已经附加了我的Nodejs代码的一部分。我将感谢您的帮助,并提前向您表示感谢 var path = require('path'); var express =

当我在Nodejs上托管我的前端时,我使用
app.use(express.static(path.join(u dirname,“public”))。然而,这使我把HTML文件的名称放在URL的末尾;例如,localhost:3000/index.html

如何使其在基本URL处显示前端,在本例中为“localhost:3000/”。我已经附加了我的Nodejs代码的一部分。我将感谢您的帮助,并提前向您表示感谢

var path = require('path');
var express = require('express');
const app = express();
const port = process.env.PORT || '3000';

app.use(express.json());

app.use((req, res, next) => {
    console.log(req.path);
    next();
});

app.use(express.static(path.join(__dirname, "public")));

app.listen(port, () => console.log("Server is ready"));

您可以使用路由路径和发送文件方法:

app.get("/", function(req,res) {
  res.sendFile("index.html", {root: path.join(__dirname, "public")})
})

这就是你要做的

//for static files like css and html

app.use('/static', express.static(path.resolve(__dirname, path to css and js)));


app.get('/*', (req, res)=>{
   res.sendFile(path.join(__dirname, 'path to your html file'))
})

那个么,你们是否使用index.html作为后端服务器的首页?你们的前端是什么?是一个框架还是更多的html模板?如何将我的Javascript和CSS文件添加到html?修改了答案。它应该是保存css和js文件的文件夹