1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 | const path = require('path');
|
7 | const express = require('express');
|
8 | const webpack = require('webpack');
|
9 |
|
10 | module.exports = (cherryConfig, wpConfig) => {
|
11 |
|
12 | const sc = cherryConfig.server;
|
13 |
|
14 | const app = express();
|
15 |
|
16 | const compiler = webpack(wpConfig);
|
17 |
|
18 | app.use(require('webpack-dev-middleware')(compiler, {
|
19 | noInfo: true,
|
20 | publicPath: wpConfig.output.publicPath
|
21 | }));
|
22 |
|
23 | app.use(require('webpack-hot-middleware')(compiler, {
|
24 | reload: true
|
25 | }));
|
26 |
|
27 | app.use(express.static(path.resolve(__dirname, '../www') ) );
|
28 |
|
29 |
|
30 | if (sc.middleware && sc.middleware.length) {
|
31 | sc.middleware.forEach(item => {
|
32 | app.use(item);
|
33 | });
|
34 | }
|
35 |
|
36 | app.get('*', function (req, res) {
|
37 |
|
38 | res.send('404!!!');
|
39 | });
|
40 |
|
41 |
|
42 | const port = sc.port || 9000;
|
43 | app.listen(port, function (err) {
|
44 | if (err) {
|
45 | console.log(err);
|
46 | return;
|
47 | }
|
48 | console.log(`Listening at http://localhost:${port}`);
|
49 | });
|
50 | }
|