-
Notifications
You must be signed in to change notification settings - Fork 1
/
server.js
37 lines (29 loc) · 944 Bytes
/
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
const path = require('path');
const express = require('express');
const webpack = require('webpack');
const config = require('./webpack.dev.config.js');
const webpackDevMiddleware = require('webpack-dev-middleware');
const webpackHotMiddleware = require('webpack-hot-middleware');
const server = express();
const DIST_DIR = __dirname;
const HTML_FILE = path.join(DIST_DIR, 'index.html');
const compiler = webpack(config);
server.use(webpackDevMiddleware(compiler, {
publicPath: config.output.publicPath
}));
server.use(webpackHotMiddleware(compiler))
server.get('*', (req, res, next) => {
compiler.outputFileSystem.readFile(HTML_FILE, (err, result) => {
if (err) {
return next(err)
}
res.set('content-type', 'text/html')
res.send(result);
res.end()
})
});
const PORT = process.env.PORT || 3000;
server.listen(PORT, () => {
console.log(`App listening to ${PORT}....`)
console.log('Press Ctrl+C to quit.')
});