Closed as not planned
Closed as not planned
Description
Command
build
Description
When defining multiple routes with RenderMode.Prerender
in app.routes.server.ts
, such as:
{
path: 'shop/:product',
renderMode: RenderMode.Prerender,
async getPrerenderParams() {
return [
'ccd8-123f',
'f3ad-e1u4',
'cvae-5ase',
].map(product => ({ product }));
},
fallback: PrerenderFallback.Server,
},
{
path: '**',
renderMode: RenderMode.Prerender,
},
it appears that the server is started multiple times — once per route — during ng build
. This leads to the following error if the isMainModule
guard is removed from server.ts
:
Error: listen EADDRINUSE: address already in use :::4000
In my case, I must remove the isMainModule
check to support deployment via iisnode on Azure, but doing so causes this build issue.
Minimal Reproduction
Remove isMainModule
check from` server.ts:
...
const port = process.env['PORT'] || 4000;
app.listen(port, () => {
console.log(`Node Express server listening on http://localhost:${port}`);
});
export const reqHandler = createNodeRequestHandler(app);
Have multiple routes with renderMode: RenderMode.Prerender
on app.routes.server.ts
.
Exception or Error
`Error: listen EADDRINUSE: address already in use :::4000`
Your Environment
Angular CLI: 19.2.8
Node: 18.19.0
Package Manager: npm 10.8.1
OS: win32 x64
Metadata
Metadata
Assignees
Labels
No labels