我正在構建一個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 –