gpt4 book ai didi

node.js - 在 ExpressJS 中使用自己的逻辑处理动态路由的最佳方法?

转载 作者:搜寻专家 更新时间:2023-11-01 00:27:13 26 4
gpt4 key购买 nike

我的工作任务超出了我目前的技能范围,因此非常感谢您的帮助。

我正在构建一个管理员,您可以在其中添加“游戏”。每个游戏都需要有自己的前端、路由和逻辑。

有点像,mainsite.com/game/game1

mainsite.com/game/game2

mainsite.com/game/game3

目前我只是根据游戏名称创建一个目录。

 var dir = "./games/" + req.body.gameId;
if (!fs.existsSync(dir)) {
fs.mkdirSync(dir);
}

反过来,我可以通过以下方式提取 .ejs 文件:

/* GET dynamic game page. */
router.get("/game/:game", function(req, res, next) {
res.render("../games/"+req.params.game+"/index", { title: "Express" });
});

但我对它如何在自己的文件夹中拥有自己的逻辑、路由、连接到数据库、前端、样式表感到困惑。

一定有更好的方法来实现这一点吧?

干杯

最佳答案

是的!在 Express 中,您可以在路由内调用 app.use()。您将能够定义一个 public 文件夹来包含特定于每个路由的 CSS、JS 和 Assets 。只需在路由内调用 app.use(express.static('route/to/assets'))

app.get('/game/:game', (req, res) => {
app.use(express.static(req.params.game + '/public'))
res.render('../games/' + req.params.game + "/index", { title: "Express" })
})

看起来很奇怪,但完全允许。

关于node.js - 在 ExpressJS 中使用自己的逻辑处理动态路由的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57352267/

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