Javascript ExpressJS根据post请求提供静态文件

Javascript ExpressJS根据post请求提供静态文件,javascript,node.js,forms,express,post,Javascript,Node.js,Forms,Express,Post,我需要快速服务器来服务静态文件(网站)。它在我的代码中运行良好: var express=require('express'); var-app=express(); var path=require('path'); var p=path.join(uu dirname,'../web/public'); 应用程序使用(“/文件”,函数(请求,恢复){ return res.send(“我将在服务器上做一些事情”); }); 应用程序使用(快速静态(p)); app.use('/*',expr

我需要快速服务器来服务静态文件(网站)。它在我的代码中运行良好:

var express=require('express');
var-app=express();
var path=require('path');
var p=path.join(uu dirname,'../web/public');
应用程序使用(“/文件”,函数(请求,恢复){
return res.send(“我将在服务器上做一些事情”);
});
应用程序使用(快速静态(p));
app.use('/*',express.static(p));
让端口=80;
var server=app.listen(端口);
但是当我有一个由这个服务器提供服务的表单时,它会在提交后重定向,页面只显示如下内容

无法发布/控制面板/

如何在提供静态文件的意义上正确处理post请求?在声明端口之前,我尝试添加以下内容:

app.post(express.static(p));
app.post('/*',express.static(p));
但它不起作用

PS:我的整个页面都是由index.html提供的(我想要)。为此,我的代码中包含以下内容:

app.use(express.static(p));
app.use('/*',express.static(p));
如何将post请求“重定向”到index.html?在这个文件中,我有整个应用程序逻辑(它是一个单页应用程序)

我真的需要默认提交。这对我来说不是一个解决方案(我想让用户保存他们的登录名和密码,而不提交表单,谷歌chrome不会向用户提供)。另一方面,我真的需要使用POST,因为登录表单正在传输敏感数据

有什么想法吗

谢谢

没有名为dashboard的文件,因此
express.static
无法提供任何服务

要处理该仪表板路线,可以执行以下操作:

app.post(“/dashboard”,功能(请求、回复){
return res.send(“我会用这个帖子做点什么”);
});
如果要将404流量重定向到index.html,可以在所有路由定义之后执行此操作:

app.use(“/”,函数(req,res){
返回res.redirect(“/index.html”);
});

它可以工作,谢谢!在接受之前,只有最后一个问题。当我用“/”调用app.use时,是否意味着它可以捕获以/”开头的所有内容?我对express path的理解是,它只在精确的url匹配上进行重定向(因此仅在127.0.0.1/)。不客气,我很高兴它有所帮助<代码>应用程序。使用会影响一切,但
应用程序。所有
的工作原理与您描述的更为相似。看看答案