| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import {
- AngularNodeAppEngine,
- createNodeRequestHandler,
- isMainModule,
- writeResponseToNodeResponse,
- } from '@angular/ssr/node';
- import express from 'express';
- import { join } from 'node:path';
- const browserDistFolder = join(import.meta.dirname, '../<%= browserDistDirectory %>');
- const app = express();
- const angularApp = new AngularNodeAppEngine();
- /**
- * Example Express Rest API endpoints can be defined here.
- * Uncomment and define endpoints as necessary.
- *
- * Example:
- * ```ts
- * app.get('/api/{*splat}', (req, res) => {
- * // Handle API request
- * });
- * ```
- */
- /**
- * Serve static files from /<%= browserDistDirectory %>
- */
- app.use(
- express.static(browserDistFolder, {
- maxAge: '1y',
- index: false,
- redirect: false,
- }),
- );
- /**
- * Handle all other requests by rendering the Angular application.
- */
- app.use((req, res, next) => {
- angularApp
- .handle(req)
- .then((response) =>
- response ? writeResponseToNodeResponse(response, res) : next(),
- )
- .catch(next);
- });
- /**
- * Start the server if this module is the main entry point.
- * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000.
- */
- if (isMainModule(import.meta.url)) {
- const port = process.env['PORT'] || 4000;
- app.listen(port, (error) => {
- if (error) {
- throw error;
- }
- console.log(`Node Express server listening on http://localhost:${port}`);
- });
- }
- /**
- * Request handler used by the Angular CLI (for dev-server and during build) or Firebase Cloud Functions.
- */
- export const reqHandler = createNodeRequestHandler(app);
|