Skip to content

Commit f9ef82a

Browse files
committed
fix: add default compression
1 parent 14e395d commit f9ef82a

File tree

2 files changed

+16
-1
lines changed

2 files changed

+16
-1
lines changed

angular.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@
3030
"styles": ["src/styles.scss"],
3131
"scripts": [],
3232
"server": "src/main.server.ts",
33-
"prerender": false,
3433
"ssr": {
3534
"entry": "src/server.ts"
3635
},

server.ts

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import {
44
isMainModule,
55
writeResponseToNodeResponse,
66
} from '@angular/ssr/node';
7+
import compression from 'compression';
78
import express from 'express';
89
import { join } from 'node:path';
910

@@ -12,6 +13,21 @@ const browserDistFolder = join(import.meta.dirname, '../browser');
1213
const app = express();
1314
const angularApp = new AngularNodeAppEngine();
1415

16+
app.use(
17+
compression({
18+
filter: (req, res) => {
19+
// Don't compress responses if the client doesn't support it
20+
if (req.headers['x-no-compression']) {
21+
return false;
22+
}
23+
// Use compression for all other requests
24+
return compression.filter(req, res);
25+
},
26+
level: 6, // Compression level (1-9, where 9 is most compressed but slowest)
27+
threshold: 1024, // Only compress responses larger than 1KB
28+
})
29+
);
30+
1531
/**
1632
* Example Express Rest API endpoints can be defined here.
1733
* Uncomment and define endpoints as necessary.

0 commit comments

Comments
 (0)