Skip to content

Commit d1f0d1f

Browse files
committed
fix: now that we require default or netlify compatible server.ts - update demo site
1 parent 69dbcdf commit d1f0d1f

File tree

1 file changed

+11
-51
lines changed

1 file changed

+11
-51
lines changed

demo/server.ts

Lines changed: 11 additions & 51 deletions
Original file line numberDiff line numberDiff line change
@@ -1,56 +1,16 @@
1-
import { APP_BASE_HREF } from '@angular/common';
2-
import { CommonEngine } from '@angular/ssr/node';
3-
import express from 'express';
4-
import { fileURLToPath } from 'node:url';
5-
import { dirname, join, resolve } from 'node:path';
6-
import bootstrap from './src/main.server';
1+
import { AngularAppEngine, createRequestHandler } from '@angular/ssr'
2+
import { getContext } from '@netlify/angular-runtime/context'
73

8-
// The Express app is exported so that it can be used by serverless Functions.
9-
export function app(): express.Express {
10-
const server = express();
11-
const serverDistFolder = dirname(fileURLToPath(import.meta.url));
12-
const browserDistFolder = resolve(serverDistFolder, '../browser');
13-
const indexHtml = join(serverDistFolder, 'index.server.html');
4+
const angularAppEngine = new AngularAppEngine()
145

15-
const commonEngine = new CommonEngine();
6+
export const netlifyAppEngineHandler = async (request: Request): Promise<Response> => {
7+
const context = getContext()
168

17-
server.set('view engine', 'html');
18-
server.set('views', browserDistFolder);
19-
20-
// Example Express Rest API endpoints
21-
// server.get('/api/**', (req, res) => { });
22-
// Serve static files from /browser
23-
server.get('*.*', express.static(browserDistFolder, {
24-
maxAge: '1y'
25-
}));
26-
27-
// All regular routes use the Angular engine
28-
server.get('*', (req, res, next) => {
29-
const { protocol, originalUrl, baseUrl, headers } = req;
30-
31-
commonEngine
32-
.render({
33-
bootstrap,
34-
documentFilePath: indexHtml,
35-
url: `${protocol}://${headers.host}${originalUrl}`,
36-
publicPath: browserDistFolder,
37-
providers: [{ provide: APP_BASE_HREF, useValue: baseUrl }],
38-
})
39-
.then((html) => res.send(html))
40-
.catch((err) => next(err));
41-
});
42-
43-
return server;
44-
}
45-
46-
function run(): void {
47-
const port = process.env['PORT'] || 4000;
48-
49-
// Start up the Node server
50-
const server = app();
51-
server.listen(port, () => {
52-
console.log(`Node Express server listening on http://localhost:${port}`);
53-
});
9+
const result = await angularAppEngine.handle(request, context)
10+
return result || new Response('Not found', { status: 404 })
5411
}
5512

56-
run();
13+
/**
14+
* The request handler used by the Angular CLI (dev-server and during build).
15+
*/
16+
export const reqHandler = createRequestHandler(netlifyAppEngineHandler)

0 commit comments

Comments
 (0)