UNPKG

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