我正在构建一个Angular2通用应用程序,并正在整合ng2-translate。在Angular Universal应用程序中获取ExpressJS的头衔
服务器端我需要知道用户的语言,我可以从ExpressJS通过request.acceptsLanguages()
(see docs)获得该语言。
我不正确地得到server.ts
这些值,像这样:
function ngApp(req: any, res: any) {
let supportedLangs = req.acceptsLanguages();
console.log('supportedLangs', supportedLangs);
res.render('index', {
req,
res,
ngModule: AppModule,
preboot: false,
baseUrl: '/',
requestUrl: req.originalUrl,
originUrl: req.hostname
});
}
然后,我不知道如何通过他们,或访问,在我app.node.module.ts
,我的服务器架设ng2-translate
。
有没有办法从Angular Universal应用程序(服务器端)访问这些值?怎么样?
这并不在新角5 –
@kris_IV感谢指点出来工作。我已经用适用于Angular 5的代码更新了答案:-) – ghego1
我在SSR Angular 5的Zone上遇到问题。它仅适用于浏览器模式下的我。我为我的问题描述了复杂的解决方案:https://stackoverflow.com/a/48509431/2972087 –