我想知道如何在nodejs中进行路由以获得多语言网址,
我目前有以下路线,每种语言在该语言下的生成路线如下所示, 由于有5种以上的语言,因此如何高效地进行操作。
app.js
app.use('/:lang/detail/:service', serviceRouter);
app.use('/:lang/xhixhi/:service', serviceRouter);
app.use('/:lang/servise/:service', serviceRouter);
app.use('/:lang/about', aboutRouter);
app.use('/:lang/guan-yu-wo-men', aboutRouter);
app.use('/:lang/tentang-kami', serviceRouter);
app.use('/:lang/contact', contactRouter);
app.use('/:lang/lian-xi-wo-men', contactRouter);
app.use('/:lang/kontak', contactRouter);
答案 0 :(得分:0)
您可以尽可能多地使用表驱动而不是重复代码。
const routeInfo = [
{url: "/:lang/{tag}/:service", words: ["detail", "xhixhi", "servise"], router: serviceRouter},
{url: "/:lang/{tag}", words: ["about", "guan-yu-wo-men", "tentang-kami"], router: aboutRouter},
{url: "/:lang/{tag}", words: ["contact", "lian-xi-wo-men", "kontak"], router: contactRouter},
];
然后,遍历表以构建所有路由:
for (let info of routeInfo) {
for (let word of info.words) {
let url = info.url.replace("{tag}", word);
app.use(url, info.router);
}
}
添加语言只会涉及向每个单词数组添加另一个条目。