UNPKG

1.14 kBJavaScriptView Raw
1/**
2 * @file devserver
3 * @author zhangpeng53
4 */
5
6const path = require('path');
7const express = require('express');
8const webpack = require('webpack');
9
10module.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: false
25 }));
26
27 app.use(express.static(path.resolve(__dirname, '../site') ) );
28
29 //add middleware
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 // res.sendFile(path.join(__dirname, 'dev/index.html'));
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}