合并非ssr路由,避免重复代码Angular SSR server.ts
Combine non ssr routes to avoide repeated code Angular SSR server.ts
在我的 server.ts
中,我分离了一些需要作为非 ssr 服务的 url。这似乎工作正常,但我几乎没有其他 url 需要添加。我必须克隆这三行代码并将该路由替换为另一个非 ssr。有没有一种方法可以将这些 url 组合成一个数组,这样我就不必重复代码了。
我的server.ts
server.get('/invite', (req, res) => {
console.log('invite');
res.sendFile(distFolder + '/index.html');
});
server.get('/invite/**', (req, res) => {
console.log('invite/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/dashboard', (req, res) => {
console.log('dashboard');
res.sendFile(distFolder + '/index.html');
});
server.get('/dashboard/**', (req, res) => {
console.log('dashboard/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/public/**', (req, res) => {
console.log('public/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/pre', (req, res) => {
console.log('pre/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/public', (req, res) => {
console.log('public**');
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 }] });
});
嗯,您可以只将一个数组传递给 get
方法。
server.get([
'/invite',
'/invite/**',
'/dashboard',
'/dashboard/**'
], (req, res) => {
console.log('Called path', req.route.path);
res.sendFile(distFolder + '/index.html');
});
在我的 server.ts
中,我分离了一些需要作为非 ssr 服务的 url。这似乎工作正常,但我几乎没有其他 url 需要添加。我必须克隆这三行代码并将该路由替换为另一个非 ssr。有没有一种方法可以将这些 url 组合成一个数组,这样我就不必重复代码了。
我的server.ts
server.get('/invite', (req, res) => {
console.log('invite');
res.sendFile(distFolder + '/index.html');
});
server.get('/invite/**', (req, res) => {
console.log('invite/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/dashboard', (req, res) => {
console.log('dashboard');
res.sendFile(distFolder + '/index.html');
});
server.get('/dashboard/**', (req, res) => {
console.log('dashboard/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/public/**', (req, res) => {
console.log('public/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/pre', (req, res) => {
console.log('pre/**');
res.sendFile(distFolder + '/index.html');
});
server.get('/public', (req, res) => {
console.log('public**');
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 }] });
});
嗯,您可以只将一个数组传递给 get
方法。
server.get([
'/invite',
'/invite/**',
'/dashboard',
'/dashboard/**'
], (req, res) => {
console.log('Called path', req.route.path);
res.sendFile(distFolder + '/index.html');
});