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

时间:2017-06-01 10:12:09

标签: gulp gulp-watch

使用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创建服务器。 任何帮助!!!

1 个答案:

答案 0 :(得分:5)

改变这个:

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"]);
}); 

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

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