在服务器上运行gulp时,在完成任务后它不会退出.这就是我得到的:
[01:16:02] Using gulpfile /test/test/gulpfile.js [01:16:02] Starting 'clean'... [01:16:02] Finished 'clean' after 11 ms [01:16:02] Starting 'default'... [01:16:02] Starting 'styles'... [01:16:02] Starting 'scripts'... [01:16:02] Starting 'watch'... [01:16:02] Finished 'watch' after 20 ms [01:16:02] Finished 'default' after 40 ms [01:16:03] gulp-notify: [Gulp notification] Styles task complete [01:16:03] Finished 'styles' after 338 ms [01:16:03] gulp-notify: [Gulp notification] Scripts task complete [01:16:03] Finished 'scripts' after 921 ms
它停留在那里,并没有回到命令提示符.这是我的gulpfile.js:
var gulp = require('gulp'), autoprefixer = require('gulp-autoprefixer'), uglify = require('gulp-uglify'), imagemin = require('gulp-imagemin'), rename = require('gulp-rename'), concat = require('gulp-concat'), notify = require('gulp-notify'), cache = require('gulp-cache'), livereload = require('gulp-livereload'), minifyCss = require('gulp-minify-css'), del = require('del'); gulp.task('styles', function() { return gulp.src('./test/css/*.css') .pipe(autoprefixer('last 2 version')) .pipe(concat('main.css')) .pipe(gulp.dest('./dist/styles')) .pipe(rename({ suffix: '.min' })) .pipe(minifyCss()) .pipe(gulp.dest('./dist/styles')) .pipe(notify({ message: 'Styles task complete' })); }); gulp.task('scripts', function() { return gulp.src('./test/js/*.js') .pipe(concat('main.js')) .pipe(gulp.dest('./dist/scripts')) .pipe(rename({ suffix: '.min' })) .pipe(uglify()) .pipe(gulp.dest('./dist/scripts')) .pipe(notify({ message: 'Scripts task complete' })); }); gulp.task('clean', function() { return del(['dist/styles', './dist/scripts']); }); gulp.task('default', ['clean'], function() { gulp.start('styles', 'scripts', 'watch'); }); gulp.task('watch', function() { gulp.watch('./test/css/*.css', ['styles']); gulp.watch('./test/*.js', ['scripts']); });
返回命令提示符的唯一方法是使用Ctrl + C.
如果您正在运行默认的gulp任务(仅通过gulp
在没有参数的命令行中运行),则它不会返回,因为您的默认任务会调用您的watch
任务.
gulp.task('watch', function() { gulp.watch('./test/css/*.css', ['styles']); gulp.watch('./test/*.js', ['scripts']); });
此任务将监视等待更改的指定位置,并在发生更改时运行指定的任务.它不会自行返回.您必须手动中断它.
如果要创建另一个只构建代码然后退出的任务,可以使用以下命令:
gulp.task('build', ['clean', 'styles', 'scripts']);
然后使用以下命令运行它:
gulp build