1
- const gulp = require ( 'gulp' )
2
- const browserSync = require ( 'browser-sync' ) . create ( )
3
- const root = './public'
4
- const PORT = process . env . PORT || 3000
5
-
6
- // browsersync local static server
7
- const server = function ( ) {
8
- browserSync . init ( {
9
- server : root ,
10
- port : PORT
11
- } )
12
- }
13
-
14
- // Files to watch for changes then reload browser
15
- const watch = function ( ) {
16
- gulp . watch ( `${ root } /*.html` ) . on ( 'change' , browserSync . reload )
17
- gulp . watch ( `${ root } /*.css` ) . on ( 'change' , browserSync . reload )
18
- gulp . watch ( `${ root } /*.js` ) . on ( 'change' , browserSync . reload )
19
- }
20
-
21
- // Gulp tasks
22
- gulp . task ( 'browserSync' , server )
23
- gulp . task ( 'watch' , watch )
24
- gulp . task ( 'dev' , gulp . series ( gulp . parallel ( 'browserSync' , 'watch' ) ) )
1
+ const gulp = require ( 'gulp' )
2
+ const browserSync = require ( 'browser-sync' ) . create ( )
3
+ const root = 'public'
4
+ const PORT = process . env . PORT || 3000
5
+
6
+ // browsersync local static server
7
+ const server = function ( ) {
8
+ browserSync . init ( {
9
+ server : root ,
10
+ port : PORT ,
11
+ ...( process . env . IS_DOCKER && { open : false } )
12
+ } )
13
+ }
14
+
15
+ // Files to watch for changes then reload browser
16
+ const watch = function ( ) {
17
+ const html = `${ root } /**/*.html`
18
+ const css = `${ root } /**/*.css`
19
+ const js = `${ root } /**/*.js`
20
+
21
+ // Use gulp internal and polling if working in Windows WSL2 to enable hot reload
22
+ gulp . watch ( html ,
23
+ ( process . env . USE_POLLING && { interval : 1000 , usePolling : true } )
24
+ ) . on ( 'change' , browserSync . reload )
25
+
26
+ gulp . watch ( css ,
27
+ ( process . env . USE_POLLING && { interval : 1000 , usePolling : true } )
28
+ ) . on ( 'change' , browserSync . reload )
29
+
30
+ gulp . watch ( js ,
31
+ ( process . env . USE_POLLING && { interval : 1000 , usePolling : true } )
32
+ ) . on ( 'change' , browserSync . reload )
33
+ }
34
+
35
+ // Gulp tasks
36
+ gulp . task ( 'browserSync' , server )
37
+ gulp . task ( 'watch' , watch )
38
+ gulp . task ( 'dev' , gulp . series ( gulp . parallel ( 'browserSync' , 'watch' ) ) )
0 commit comments