我正在尝试实现角度通用。但我想暂时仅在2条特定路线中限制SSR。原因是。
1)环球是仍在发展的东西,并导致@angular/flex-layout
和nested 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) => {
});
但是,当我尝试在页面/campaign/new-channel
页面导航永远重新加载。
我期望的预期行为是通常没有任何内容呈现的页面。
我想我必须做一些不同的事情,因为node express应该将路由的处理传递给angular。 知道如何实现这个吗? server.ts的其余代码是从这里复制的https://github.com/angular/universal-starter/blob/master/server.ts
P.S在stackoverflow Angular universal rendering for some routes only上有这篇文章,但没有提供解决方案。所以我做了这个,因为我不知道我是否允许在答案中打开新线程
最后response.sendFile
是我正在寻找的
app.get('/campaign/new-channel', function (req, res) {
res.sendFile(join(DIST_FOLDER, 'browser', 'index.html'));
});
你想要的只是返回index.html而没有任何渲染内容