Angular 通用仅适用于特定路线

Dio*_*s K 6 angular-universal angular

我正在尝试实现angular Universal。但我想暂时将SSR限制在2条特定的路线上。原因是。
1)Universal 是一个仍在发展中的东西,它会导致一些意想不到的行为@angular/flex-layoutnested lazy loading

2)我不需要在所有页面上进行 SEO

所以我试过这样的事情

app.get('/campaign/*/*', (req, res) => {
   res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req });
});

app.get('/', (req, res) => {
   res.render(join(DIST_FOLDER, 'browser', 'index.html'), { req });
});

app.get('*', (req, res) => {

});
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在页面中导航时,它会 /campaign/new-channel 永远重新加载。
我期望的预期行为是页面通常不会呈现任何内容。

我想我必须做一些不同的事情,因为 node express 应该将路由的处理传递给 angular 。
知道如何实现这一点吗?server.ts
的其余代码从这里复制https://github.com/angular/universal-starter/blob/master/server.ts

PS有这篇关于stackoverflow Angular通用渲染的帖子仅适用于某些路线,但没有提供解决方案。所以我做了这个,因为我不知道我是否允许在答案中打开新线程

Dio*_*s K 8

最后 response.sendFile 是我正在寻找的

app.get('/campaign/new-channel', function (req, res) {
   res.sendFile(join(DIST_FOLDER, 'browser', 'index.html'));
});
Run Code Online (Sandbox Code Playgroud)

你想要的只是返回没有任何渲染内容的index.html