-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
37 lines (26 loc) · 1.04 KB
/
server.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
'use strict';
require('zone.js/dist/zone-node');
require('reflect-metadata');
const express = require('express'); // npm install --save express
const ngUniversal = require('@nguniversal/express-engine'); // npm install --save @nguniversal/express-engine
const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader'); // npm install --save @nguniversal/module-map-ngfactory-loader
const { AppServerModuleNgFactory, LAZY_MODULE_MAP } = require('./dist-server/main.bundle');
function angularRouter(req, res) {
res.render('index', { req, res });
}
const app = express();
app.engine('html', ngUniversal.ngExpressEngine({
bootstrap: AppServerModuleNgFactory,
providers: [
provideModuleMap(LAZY_MODULE_MAP)
]
}));
app.set('view engine', 'html');
app.set('views', 'dist');
app.get('/', angularRouter);
app.use(express.static(`${ __dirname }`))
app.get('*', angularRouter);
app.listen(3000, () => {
console.log('Listening on port 3000');
});
// https://github.com/angular/angular-cli/wiki/stories-universal-rendering