-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathserver.js
47 lines (35 loc) · 1.21 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
38
39
40
41
42
43
44
45
46
47
//@formatter:off
// the above line tells the lint to not change the file
require('zone.js/dist/zone-node');
require('reflect-metadata');
const express = require('express');
const fs = require('fs');
const core = require('@angular/core');
const { platformServer, renderModuleFactory } = require('@angular/platform-server');
const { ngExpressEngine } = require('@nguniversal/express-engine');
// Import module map for lazy loading
const { provideModuleMap } = require('@nguniversal/module-map-ngfactory-loader');
// Import the AOT compiled factory for your AppServerModule.
// This import will change with the hash of your built server bundle.
const server = require('./dist/dist-server/main.bundle');
// Faster server renders w/ Prod mode (dev mode never needed)
//core.enableProdMode();
const app = express();
// Set the engine
app.engine('html', ngExpressEngine({
}));
app.set('view engine', 'html');
app.set('views', './dist/');
app.get(/\/(.*)/, (req, res) => {
res.render('./index', {
req,
res,
bootstrap: server.AppServerModuleNgFactory,
providers: [
provideModuleMap(server.LAZY_MODULE_MAP)
]
});
})
app.listen(process.env.PORT || 3000, () => {
console.log(`Listening at ${process.env.PORT || 3000}`);
})