繁体   English   中英

Gulp 手表不做任何事情

[英]Gulp watch doesn't do anything

我正在尝试使用 Watch 来编译我的 SASS 文件,但它不起作用。

包.json

"author": "José Ramón Rico Lara",
  "license": "ISC",
  "devDependencies": {
    "gulp": "^4.0.2",
    "gulp-concat": "^2.6.1",
    "gulp-imagemin": "^7.1.0",
    "gulp-notify": "^3.2.0",
    "gulp-sass": "^4.1.0",
    "gulp-webp": "^4.0.1"
  }
}

Gulpfile.js

const { series, src, watch, dest, parallel } = require('gulp');
const sass = require('gulp-sass')
const webp = require('gulp-webp');

const paths = {
    scss: 'src/scss/**/*.scss',
    js: 'src/js/**/*.js'
}

function css() {
    return src(paths.scss)
        .pipe(sass())
        .pipe(dest('./build/css'))
}

function javascript() {
    return src(paths.js)
        .pipe(concat('bundle.js'))
        .pipe(dest('./build/js'))
}

function watchArchivos() {
    watch(paths.scss, css); // * = La carpeta actual - ** = Todos los archivos con esa extensión
    watch(paths.js, javascript);
}

exports.css = css;
exports.javascript = javascript;
exports.watchArchivos = watchArchivos;

exports.default = series(css, javascript, watchArchivos);

在控制台中,它说代码正在运行并且没有任何问题,但是当我更改任何文件时,它不会编译它。

据我所知,没有 gulp.tasks ... 在示例中

gulp.task('watch', function() {
  gulp.watch('public/assets/css/*.css', gulp.series('clean-css', 'pack-css'));
});

同样在您提供的文件中,只有导出,并且您没有调用“watchArchivos”。

有一个类似的问题,观察任务从未被执行,在这种情况下(浏览器)的第一个任务是浏览器同步实例,在我的情况下浏览器任务是异步的,所以我不得不使用 asyn / await 并且一切正常。 从:

function browser() {
  browserSync.init({
    server: {
      baseDir: PATHS.output,
    },
  });
}
exports.default = series (browser, watching);

async function browser() {
  await browserSync.init({
    server: {
      baseDir: PATHS.output,
    },
  });
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM