gpt4 book ai didi

javascript - 仅适用于某些路线的 Angular 通用渲染

转载 作者:太空狗 更新时间:2023-10-29 17:39:24 25 4
gpt4 key购买 nike

我正在玩 Angular Universal,但无法找到仅对某些页面(如主页)使用服务器端渲染并以标准 Angular 方式渲染所有其他路由的选项。我不想在不需要 SEO 的私有(private)页面上使用服务器端渲染。我可以像这样在 express 中配置路由

// send all requests to Angular Universal
// if you want Express to handle certain routes (ex. for an API) make sure you adjust this
app.get('/', ngApp);
app.get('/home', ngApp);
app.get('/about', ngApp);

理想情况下,我根本不想了解 NodeJs,而是在具有 serverSide: true 等属性的 Angular 路由配置上配置它

const appRoutes: Routes = [
//public route, I want server rendering for SEO
{ path: 'home', component: HomeComponent, serverSide: true },
//private user profile page, SEO is not needed
{ path: 'user/profile/:id', component: UserProfileComponent },
];

最佳答案

在你的 server.ts 中对于您不想渲染的路线,只需按照以下步骤操作即可

app.get('/api/**', (req, res) => { });

app.get('/app/**', (req, res) => {
console.log('not rendering app pages');
});

app.get('/auth/**', (req, res) => {
console.log('not rendering auth page');
});

//所有常规路由都使用通用引擎

app.get('*', (req, res) => {
res.render('index', { req });
});

希望这对您有所帮助。

关于javascript - 仅适用于某些路线的 Angular 通用渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43464614/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com