Gulp 大口手表只工作一次

Gulp 大口手表只工作一次,gulp,gulp-watch,Gulp,Gulp Watch,我正在试着让我的gulp watch任务运行。现在,每次ps-I在Windows7上运行时,我都必须从命令行运行gulp 我已经读过几篇类似的文章,也在寻找语法错误。不幸的是,我的任何尝试都没有帮助 var gulp = require('gulp'); var gutil = require('gulp-util'); var stylus = require('gulp-stylus'); var autoprefixer = require('autoprefixer-stylus');

我正在试着让我的gulp watch任务运行。现在,每次ps-I在Windows7上运行时,我都必须从命令行运行gulp

我已经读过几篇类似的文章,也在寻找语法错误。不幸的是,我的任何尝试都没有帮助

var gulp = require('gulp');
var gutil = require('gulp-util');
var stylus = require('gulp-stylus');
var autoprefixer = require('autoprefixer-stylus');
var webpack = require('webpack');
var runSequence = require('run-sequence');
var del = require('del');

gulp.task('clean', function(cb) {
    return del (['build/*'], cb);
});

gulp.task('copy', function() {  });

gulp.task('images', function() {
    gulp.src(['client/images/**/*.{jpg,png}'])
    .pipe(gulp.dest('build/images'));
});

gulp.task('css', function() {
    gulp.src(['client/css/**/*.styl'])
    .pipe(stylus({
        use:
        [autoprefixer({browsers: ['last 2 versions', 'ie 10']})]
    }))
    .pipe(gulp.dest('build/css'));
});

gulp.task('js', function(cb) {
    webpack(require('./webpack.config.js'), function(err, stats)
        {
        if(err) throw new gutil.PluginError('webpack.build', err);
        gutil.log('[webpack:build]', stats.toString({
            colors: true
        }));
        });
});

gulp.task('build', function(cb) {
    runSequence('clean', ['copy', 'images', 'css', 'js'],
        function() {
            cb();
        });
});

gulp.task('watch', ['build'], function() {
    gulp.watch('client/**/*.styl', ['css']);
    gulp.watch('client/**/*.jsx', ['js']);
});

gulp.task('default', ['watch']);
我还更新了自动手表功能,但这也不起作用

var gulp = require('gulp');
--> var autowatch = require('gulp-autowatch');
var gutil = require('gulp-util');
var stylus = require('gulp-stylus');
var autoprefixer = require('autoprefixer-stylus');
var webpack = require('webpack');
var runSequence = require('run-sequence');
var del = require('del');

gulp.task('clean', function(cb) {
    return del (['build/*'], cb);
});

gulp.task('copy', function() {  });

gulp.task('images', function() {
    gulp.src(['client/images/**/*.{jpg,png}'])
    .pipe(gulp.dest('build/images'));
});

gulp.task('css', function() {
    gulp.src(['client/css/**/*.styl'])
    .pipe(stylus({
        use:
        [autoprefixer({browsers: ['last 2 versions', 'ie 10']})]
    }))
    .pipe(gulp.dest('build/css'));
});

gulp.task('js', function(cb) {
    webpack(require('./webpack.config.js'), function(err, stats)
        {
        if(err) throw new gutil.PluginError('webpack.build', err);
        gutil.log('[webpack:build]', stats.toString({
            colors: true
        }));
        });
});

gulp.task('build', function(cb) {
    runSequence('clean', ['copy', 'images', 'css', 'js'],
        function() {
            cb();
        });
});

-->var paths = {
-->    images: 'client/**/*.{jpg,png}',
-->    css: 'client/**/*.styl',
-->    js: 'client/**/*.{js,jsx}',
-->};
-->
-->gulp.task('watch', ['build'], function() {
-->    autowatch(gulp, paths);
-->});

gulp.task('default', ['watch']);

知道我做错了什么吗?

我想你需要指定正确的子文件夹。假设您分别使用client/css和client/js,那么可以试试这个吗

gulp.task('watch', ['build'], function() {
    gulp.watch('client/css/**/*.styl', ['css']);
    gulp.watch('client/js/**/*.jsx', ['js']);
});