ExpressJS - 根据用户使用不同的路径视图
我有一个使用i18n和Angular CLI的Angular应用程序。 CLI为每种语言创建一个应用程序(和一个不同的文件夹)。我想根据用户会话呈现视图(他/她的语言偏好在他/她的会话中)。ExpressJS - 根据用户使用不同的路径视图
这里是我的文件夹
myapp --dist
----en
----fr
,所以我想在视图文件夹设置为结构:
app.set('views', join(__dirname, 'dist'));
,然后将用户重定向到其语言文件夹。这是一个正确的策略,如果是,我如何将用户重定向到它的文件夹(仅适用于视图)?
回答:
如果我们已经配置快递如下:
app.set('views', path.join(__dirname,'/views'));
如果你有以下文件结构:
/views/ /views/en/welcome.html
/views/fr/welcome.html
/views/en/news/article1.html
/views/fr/news/article1.html
你需要编写得到优先从会话语言中间件,套req.body.preferredLang
以一些价值,并在最后呼吁next()
。
,然后使用该中间件在app.js这样的:
app.use(languageMiddleware);
最后,你可以呈现这样的:
router.get('/welcome', (req, res, next) => { res.render(`${req.body.preferredLang}/welcome`, {});
});
以上是 ExpressJS - 根据用户使用不同的路径视图 的全部内容, 来源链接: utcz.com/qa/264517.html