gpt4 book ai didi

javascript - 在 Express-JS 中将 example.com 路由到静态文件,但将 example.com/anything 路由到其他文件

转载 作者:行者123 更新时间:2023-12-03 12:08:12 27 4
gpt4 key购买 nike

我是 Parse 新手,我正在尝试将我的应用程序部署到 example.com

我希望 example.com 提供静态登录页面,但 example.com/anything (当然,anything 不是从字面上看,它可以是任何东西)由另一个 Controller 处理。

为了更清楚地说明:

场景 1:用户在网络浏览器中输入 www.example.com

输出:我的静态登陆页面,例如index.html

场景 2:用户在网络浏览器中输入 www.example.com/ausername

输出:在服务器端渲染 ejs 页面的结果。

如何以非常简单的方式实现这一目标?我试过:

app.get('/:username', function(req, res){
res.render("user", { username: req.params.username });
});

这确实适用于example.com/ausername,但是当我输入example.com时,请求再次由上述方法呈现,从而产生错误。

最佳答案

您可以将静态 index.html 放在项目根目录的“public”文件夹中,并使用 express.static() 中间件来交付该静态页面。

// Serve the static landing page at the root
// e.g. public/index.html => http://www.example.com/
app.use(express.static(__dirname + '/public'));

// Serve the route
// e.g. http://www.example.com/test123
app.get('/:username', function(req, res){
res.render("user", { username: req.params.username });
});

这将允许用户访问根目录下的静态页面,并且在提供值时也可以访问您的路由。请参阅Express middleware documentation了解更多信息。

关于javascript - 在 Express-JS 中将 example.com 路由到静态文件,但将 example.com/anything 路由到其他文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25089911/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com