![](/img/trans.png)
[英]Initialise AOS - Animate on scroll library in Angular Universal Server Side Rendering
[英]Angular 5 Universal exclude path from rendering on server
有什么方法可以強制瀏覽器僅渲染 Angular 5 通用應用程序的特定路徑? 我在 app.module.shared.ts 中有以下路線
@NgModule({
declarations: [...],
imports: [
......
RouterModule.forRoot([
{ path: '', redirectTo: 'home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'auth-callback', component: AuthCallbackComponent},
{ path: '**', redirectTo: 'home' }
]
)
],
providers: []
})
而且我希望mysite.com/auth-callback僅在瀏覽器中呈現,而不是在服務器端。 感謝您的幫助,未能找到任何幫助信息。
還沒有這樣的,你將 api 文件夾放在 angular 2 根目錄中。如果你這樣做,Angular2/4/5 路由與 api 路由之間會發生沖突......
因此,無論是使用子域還是將 angular 和 api 代碼放在不同的目錄中..
是的,它可以加載具有特定路由的瀏覽器和服務器。
在您的server.ts
中,您需要指定如下路線。
let routesPath = ['/invite', '/invite/**','/lm', '/dashboard', '/dashboard/**', '/public/**', '/public', '/pre'];
server.get(routesPath, (req, res) => {
// console.log(req);
res.sendFile(distFolder + '/index.html');
});
然后更新你的 server.ts
let routesPath = ['/invite', '/invite/**','/lm', '/dashboard', '/dashboard/**', '/public/**', '/public', '/pre'];
server.get(routesPath, (req, res) => {
// console.log(req);
res.sendFile(distFolder + '/index.html');
});
// All regular routes use the Universal engine
server.get('*', (req, res) => {
res.render(indexHtml, { req, providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }] });
});
return server;
您在上面的代碼中看到有兩個不同server.get()
。 第一個將加載瀏覽器。 routesPath
中提到的所有路由都將顯示普通瀏覽器模式。
第二個是將呈現為 SSR 的所有常規路線。
我知道現在回答為時已晚,但我希望它可以幫助有人解決這個問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.