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');
9const config = require('../webpack.config');
10
11module.exports = (cherryConfig) => {
12
13 const sc = cherryConfig.server;
14
15 const app = express();
16
17 const compiler = webpack(config);
18
19 app.use(require('webpack-dev-middleware')(compiler, {
20 noInfo: true,
21 publicPath: config.output.publicPath
22 }));
23
24 app.use(require('webpack-hot-middleware')(compiler, {
25 reload: false
26 }));
27
28 app.use(express.static('../site'));
29
30 app.get('*', function (req, res) {
31 // res.sendFile(path.join(__dirname, 'dev/index.html'));
32 res.send('404!!!');
33 });
34
35 //add middleware
36 if (sc.middleware && sc.middleware.length) {
37 sc.middleware.forEach(item => {
38 app.use(item);
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}