當我運行沒有node
任務的gulp時,它工作正常,並按預期處理客戶端文件,如果我運行gulp node
,它會按預期處理服務器文件。但是,如果我同時運行了gulp
,它將按預期方式處理客戶端和服務器文件,但是,通過按'Ctrl + C'(嘗試在Windows 10 & Mac El Capitan上),它不會讓我退出。有什麼我在這裏做錯了嗎?使用gulp-nodemon&gulp.watch時,無法使用Ctrl + C停止Gulp
'use strict';
var gulp = require('gulp');
var connect = require('gulp-connect');
var browserify = require('browserify');
var source = require('vinyl-source-stream');
var nodemon = require('gulp-nodemon');
var config = {
port: 9005,
devBaseUrl: 'http://localhost',
paths: {
html: './src/*.html',
dist: './dist',
js: './src/**/*.js',
images: './src/images/*',
mainJs: './src/main.js',
css: [
'node_modules/bootstrap/dist/css/bootstrap.min.css',
'node_modules/bootstrap/dist/css/bootstrap-theme.min.css'
]
}
};
gulp.task('connect', function() {
connect.server({
root: ['dist'],
port: config.port,
base: config.devBaseUrl,
livereload: true
});
});
gulp.task('html', function() {
gulp.src(config.paths.html)
.pipe(gulp.dest(config.paths.dist))
});
gulp.task('js', function() {
browserify(config.paths.mainJs)
.bundle()
.on('error', console.error.bind(console))
.pipe(source('bundle.js'))
.pipe(gulp.dest(config.paths.dist + '/scripts'))
.pipe(connect.reload())
});
gulp.task('node', function() {
nodemon({
script: 'server/index.js',
ext: 'js',
env: {
PORT: 8000
},
ignore: ['node_modules/**','src/**','dist/**']
})
.on('restart', function() {
console.log('Restarting node server...');
})
});
gulp.task('watch', function() {
gulp.watch(config.paths.js, ['js']);
});
gulp.task('default', ['html', 'js', 'connect', 'node', 'watch']);
你可以把這個問題解釋爲展示你的問題的最小代碼量嗎? –
我已經刪除了不必要的部分 –