-
Notifications
You must be signed in to change notification settings - Fork 0
/
gulpfile.js
executable file
·59 lines (53 loc) · 1.65 KB
/
gulpfile.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
var gulp = require('gulp'), // Сообственно Gulp JS
browserSync = require('browser-sync').create(), // Вебсервер - Browsersync
reload = browserSync.reload,
nodemon = require('gulp-nodemon'),
bot = require( 'gulp-develop-server' ),
plumber = require('gulp-plumber'); // Вывод ошибок
// Run server
gulp.task('server', function() {
var serverStream = nodemon({
nodemon: require('nodemon'),
script: './server/server.js',
watch: './server/',
})
.on('start', function() {
//bot.restart();
console.log('Start server!')
reload();
})
.on('restart', function () {
console.log('Server restarted!')
})
.on('crash', function() {
console.error('Server has crashed!\n')
serverStream.emit('restart', 3) // restart the server in 3 seconds
})
})
// Run bots
gulp.task('bots', function() {
bot.listen( { path: './bots/server.js' } );
})
// Run client
gulp.task('client', function() {
gulp.src('./client/**/*').pipe(plumber())
.pipe(reload({stream:true})); // даем команду на перезагрузку страницы
});
// Локальный сервер для разработки
gulp.task('browser-sync', function() {
browserSync.init({
server: {
baseDir: "./client"
},
tunnel: false,
host: 'localhost',
port: 9080,
});
});
// Запуск
gulp.task('watch', ['server','browser-sync', 'client', 'bots'], function() {
gulp.watch('./client/**/*', function() {
gulp.start('client');
});
gulp.watch('./bots/server.js', bot.restart);
});