@@ -5,21 +5,23 @@ let connect = require('connect'),
5
5
serveStatic = require ( 'serve-static' ) ,
6
6
serveIndex = require ( 'serve-index' ) ,
7
7
moment = require ( 'moment' ) ,
8
+ livereload = require ( 'livereload' ) ,
9
+ connectLivereload = require ( 'connect-livereload' ) ,
8
10
webpackDevMiddleware = require ( "webpack-dev-middleware" ) ;
9
11
10
12
let Manager = require ( '../modules/manager.js' ) ;
11
13
12
14
exports . usage = "开发服务" ;
13
15
14
16
exports . setOptions = ( optimist ) => {
15
- optimist . alias ( 'h' , 'hot' ) ;
16
- optimist . describe ( 'h' , '热加载' ) ;
17
17
optimist . alias ( 's' , 'https' ) ;
18
18
optimist . describe ( 's' , '使用https协议' ) ;
19
19
optimist . alias ( 'p' , 'port' ) ;
20
20
optimist . describe ( 'p' , '端口' ) ;
21
21
optimist . alias ( 'm' , 'middlewares' ) ;
22
22
optimist . describe ( 'm' , '加载项目中间件' ) ;
23
+ optimist . alias ( 'l' , 'livereload' ) ;
24
+ optimist . describe ( 'l' , '实时自动刷新' ) ;
23
25
} ;
24
26
25
27
exports . run = ( options ) => {
@@ -28,6 +30,7 @@ exports.run = (options) => {
28
30
hot = options . h || options . hot ,
29
31
middlewares = options . m || options . middlewares ,
30
32
https = options . s || options . https ,
33
+ enableLivereload = options . l || options . livereload ,
31
34
port = options . p || options . port || 80 ;
32
35
33
36
let middlewareCache = { } ;
@@ -109,10 +112,7 @@ exports.run = (options) => {
109
112
} ) ;
110
113
if ( project . check ( ) ) {
111
114
let compiler = project . getCompiler ( ) ;
112
- middleware = middlewareCache [ projectName ] = webpackDevMiddleware ( compiler , {
113
- noInfo : true
114
- // hot: hot TODO
115
- } ) ;
115
+ middleware = middlewareCache [ projectName ] = webpackDevMiddleware ( compiler , { noInfo : true } ) ;
116
116
} else {
117
117
next ( ) ;
118
118
return ;
@@ -125,13 +125,19 @@ exports.run = (options) => {
125
125
}
126
126
} ) ;
127
127
128
+ if ( enableLivereload ) {
129
+ livereload . createServer ( ) . watch ( cwd ) ;
130
+ app . use ( connectLivereload ( { port : 35729 } ) ) ;
131
+ }
132
+
128
133
app . use ( serveStatic ( cwd , {
129
134
redirect : false ,
130
135
index : false
131
136
} ) ) ;
132
137
133
138
app . use ( serveIndex ( cwd ) ) ;
134
139
135
- http . createServer ( app ) . listen ( port ) ;
136
- info ( 'Listening on port ' + port )
140
+ http . createServer ( app ) . listen ( port , ( ) => {
141
+ info ( 'Listening on port ' + port ) ;
142
+ } ) ;
137
143
} ;
0 commit comments