运行 监视功能之前的服务器功能

Run server function before watch function

正在使用 gulp-connect 插件创建服务器。

代码很好,但是当我 运行 gulp 时,它开始监视 'watch' 创建服务器后如何运行服务器和运行监视功能。

var gulp = require("gulp"),
scss = require("gulp-scss"),
jsmin = require("gulp-jsmin"),
rename = require("gulp-rename"),
connect = require("gulp-connect");

var path = {
    src: {
        js: 'dist/js/**/*.js',
        css: 'dist/css/**/*.scss',
        img: 'dist/img/*.*',
        html: '/**/*.html'
    },
    build: {
        js: './js/',
        css: './css/',
        img: './img/'
    }
};

/* connect server */
gulp.task("connect", function () {
    connect.server({
        root: './',
        livereload: true
    });
});

/* SASS into css */
gulp.task("styles", function () {
    gulp.src(path.src.css)
        .pipe(scss())
        .pipe(gulp.dest(path.build.css))
        .pipe(connect.reload());
});

/* minified JS */
gulp.task("scripts", function () {
    gulp.src(path.src.js)
        .pipe(jsmin())
        .pipe(rename({ suffix: '.min' }))
        .pipe(gulp.dest(path.build.js))
        .pipe(connect.reload());
});

/* html */
gulp.task("html",function(){
    gulp.src(path.src.html)
        .pipe(connect.reload());
});

/* watch */
gulp.task('watch', function(){
    gulp.watch([path.src.html],["html"]);
    gulp.watch([path.src.css],["styles"]);
    gulp.watch([path.src.js],["scripts"]);
});

gulp.task("default", ["connect", 'html', 'styles', 'scripts','watch']);

如果我跳过监视功能,那么 gulp 创建服务器。 任何帮助!!!

改变这个:

gulp.task("default", ["connect", 'html', 'styles', 'scripts', 'watch']);

至:

gulp.task("default", ['html', 'styles', 'scripts', 'watch']);

gulp.task('watch', ['connect'], function(){
  gulp.watch([path.src.html],["html"]);
  gulp.watch([path.src.css],["styles"]);
  gulp.watch([path.src.js],["scripts"]);
}); 

现在 'connect' 任务将 运行 在 'watch' 任务开始之前。我想这就是你想要的?此外,将 return 语句添加到您的所有任务中。如

gulp.task("styles", function () {
  return gulp.src(path.src.css) ...........