You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

35 lines
848 B

  1. 'use strict';
  2. require('zone.js/dist/zone-node');
  3. require('reflect-metadata');
  4. const express = require('express');
  5. const ngUniversal = require('@nguniversal/express-engine');
  6. const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader');
  7. const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist-server/main.bundle');
  8. function angularRouter(req, res) {
  9. res.render('index', {req, res});
  10. }
  11. const app = express();
  12. app.engine('html', ngUniversal.ngExpressEngine({
  13. bootstrap: AppServerModuleNgFactory,
  14. providers: [
  15. provideModuleMap(LAZY_MODULE_MAP)
  16. ]
  17. }));
  18. app.set('view engine', 'html');
  19. app.set('views', 'dist');
  20. app.get('/', angularRouter);
  21. app.use(express.static(`${__dirname}/dist`));
  22. app.get('*', angularRouter);
  23. app.listen(3000, () => {
  24. console.log('Listening on port 3000');
  25. });