首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >吞咽4观看gulp.series只运行一次

吞咽4观看gulp.series只运行一次
EN

Stack Overflow用户
提问于 2018-12-10 18:38:10
回答 2查看 1.7K关注 0票数 3

我从第三杯改为第四杯,但我无法让它开始工作。

当我运行gulp并保存一个js或scss文件时,它成功地创建了一个新文件。如果我再救一次,什么都不会发生。我猜我不明白gulp.series是如何工作的。它只运行一个。

代码语言:javascript
复制
var gulp = require('gulp');
var concat = require('gulp-concat');
var sass = require('gulp-sass');
var rename = require('gulp-rename');
var gutil = require('gulp-util');
var minifyJS = require('gulp-minify');

gulp.task('css', function() {
    gulp.src([
        'assets/css/src/tinyFileTree.scss'
    ])
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('assets/css/dist'))
    .pipe(rename('tinyFileTree.min.scss'))
    .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
    .pipe(gulp.dest('assets/css/dist'))
});

// JS
gulp.task('js', function() {
  gulp.src([
    'assets/js/src/tinyFileTree.js'
    ])
    .pipe(minifyJS({
      ext:{
        min:'.min.js'
      },
    }))
    .on('error', function (err) { gutil.log(gutil.colors.red('[Error]'), err.toString()); })
    .pipe(gulp.dest('assets/js/dist'))
});

// Default
gulp.task('default', function() {
    gulp.watch('assets/css/src/tinyFileTree.scss', gulp.series('css'));
    gulp.watch('assets/js/src/tinyFileTree.js', gulp.series('js'));
});
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-12-29 04:49:52

我做了一个完整的重写,可以在这里找到:https://github.com/jenstornell/gulpfile-style-script

你也可以在这里看到它。希望它能帮到别人。

代码语言:javascript
复制
let gulp = require("gulp");
let sass = require("gulp-sass");
let autoprefixer = require("gulp-autoprefixer");
let concat = require("gulp-concat");
let uglify = require('gulp-uglify-es').default;
let csso = require('gulp-csso');
let rename = require('gulp-rename');

var css = {
  src: 'assets/css/src/**/*.scss',
  dest: 'assets/css/dist',
  filename: 'style.scss'
};

var js = {
  src: 'assets/js/src/**/*.js',
  dest: 'assets/js/dist',
  filename: 'script.js'
};

function style() {
  return (
    gulp
      .src(css.src)
      .pipe(concat(css.filename))
      .pipe(sass())
      .on("error", sass.logError)
      .pipe(autoprefixer())
      .pipe(gulp.dest(css.dest))
      .pipe(csso())
      .pipe(rename({extname: '.min.css'}))
      .pipe(gulp.dest(css.dest))
  );
}

function script() {
  return (
    gulp
      .src(js.src)
      .pipe(concat(js.filename))
      .pipe(gulp.dest(js.dest))
      .pipe(uglify())
      .pipe(rename({extname: '.min.js'}))
      .pipe(gulp.dest(js.dest))
  );
}

function watch(){
  gulp.watch(css.src, style);
  gulp.watch(js.src, script);
}

exports.css = style;
exports.js = script;
exports.default = watch;
票数 0
EN

Stack Overflow用户

发布于 2019-06-19 18:48:01

如果您不想返回一个gulp实例。您只需跟踪在gulp表文档上使用的签名即可。该函数需要一个带有一个参数的回调函数,您需要在任务结束时执行该参数。我花了几个小时才弄明白这个问题,但就是这样。

通知cb();

代码语言:javascript
复制
gulp.task('css', function(cb) {
    gulp.src([
        'assets/css/src/tinyFileTree.scss'
    ])
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('assets/css/dist'))
    .pipe(rename('tinyFileTree.min.scss'))
    .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
    .pipe(gulp.dest('assets/css/dist'));

    cb();
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53711706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档