मैं सेटअप करने के लिए कि उदाहरण का उपयोग कर रहा कोणीय 4 यूनिवर्सल NodeJS साथ & expressjs: https://github.com/FrozenPandaz/ng-universal-demoकोणीय 2+ यूनिवर्सल एक्सप्रेसज से पैरामीटर पास करना संभव है (यूआरएल क्वेरी स्ट्रिंग का उपयोग किए बिना)?
मैं पहली बार पूरे पृष्ठ लोड से कोणीय 4 अंतिम एप्लिकेशन को डेटा पास करने की कोशिश कर रहा हूँ।
उपयोग के मामले भाषा कोणीय 4 सर्वर रेंडरर से अवशोषित करने के लिए तो यह बातें अनुवाद करने के लिए सही भाषा का उपयोग कर सकते हेडर से पता लगाया हस्तांतरण करने के लिए किया जाएगा।
एकमात्र तरीका जो मैंने पाया है, वह "/" रूट पर HTTPjers का उपयोग करके HTTP हेडर का उपयोग करके भाषा पहचान करना है और HTTP भाषा को "/ fr" पर रीडायरेक्ट करना है उदाहरण के लिए यदि उपयोगकर्ता भाषा फ़्रेंच है ।
main.server.ts
app.param('language', function(req: any, res, next, language) {
if(language.length == 2)
{
req.language = language;
next();
} else {
next(new Error('Invalid language found'));
}
});
// Redirect incoming trafic without language in url (302 used so the browser do not seal that redirection if the user decides to change language and reload)
app.get('/', function(req, res) {
res.set('location', baseUrl + '/' + getLanguage(req);
res.status(302).send();
});
routes.ts
export const ROUTES: string[] = [
'/error',
'/:language',
'/:language/download'
];
यह काम करता है, क्योंकि मैं कोणीय 4 रूटर कॉन्फ़िगर और पुनः प्राप्त कर रहा हूँ वर्तमान मार्ग, लेकिन यह गंदा है।
app.module.ts
RouterModule.forRoot([
{ path: '', component: HomeView, pathMatch: 'full'},
{ path: ':language/download', loadChildren: './+lazy/lazy.module#LazyModule'},
{ path: ':language/', redirectTo: ''},
// Catch all if expressjs allowed this url
{ path: '**', component: HomeView }
])
वहाँ यूआरएल पैरामीटर की तुलना में एक बेहतर तरीका कोणीय 4 कोणीय यूनिवर्सल का उपयोग करके ऐप्स ExpressJS से डेटा पारित करने के लिए है?
आप एक समाधान मिला:
यहाँ मेरा पूरा 'main.server.ts' फ़ाइल है? मुझे भी यही तकलीफ़ है। –