Gulpfile.js文件无法正常工作?

时间:2016-12-26 10:15:36

标签: gulp gulp-watch gulp-sass

我的Gulpfile.js无法正常工作,甚至没有创建css文件夹,也没有在我编辑" _globals.scss"时自动添加文件。当我在" _globals.scss"也没有工作,并帮助我如何使用窗口中的cmd来调整gulp watch

var gulp = require('gulp');
var livereload = require('gulp-livereload')
var uglify = require('gulp-uglifyjs');
var sass = require('gulp-sass');
var autoprefixer = require('gulp-autoprefixer');
var sourcemaps = require('gulp-sourcemaps');
var imagemin = require('gulp-imagemin');
var pngquant = require('imagemin-pngquant');




gulp.task('imagemin', function () {
    return gulp.src('./themes/custom/shinedelhi/images/*')
        .pipe(imagemin({
            progressive: true,
            svgoPlugins: [{removeViewBox: false}],
            use: [pngquant()]
        }))
        .pipe(gulp.dest('./themes/custom/shinedelhi/images'));
});


gulp.task('sass', function () {
  gulp.src('./themes/custom/shinedelhi/sass/**/*.scss')
    .pipe(sourcemaps.init())
        .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
        .pipe(autoprefixer('last 2 version', 'safari 5', 'ie 7', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
    .pipe(sourcemaps.write('./'))
    .pipe(gulp.dest('./themes/custom/shinedelhi/css'));
});


gulp.task('uglify', function() {
  gulp.src('./themes/custom/shinedelhi/lib/*.js')
    .pipe(uglify('main.js'))
    .pipe(gulp.dest('./themes/custom/shinedelhi/js'))
});

gulp.task('watch', function(){
    livereload.listen();

    gulp.watch('./themes/custom/shinedelhi/sass/**/*.scss', ['sass']);
    gulp.watch('./themes/custom/shinedelhi/lib/*.js', ['uglify']);
    gulp.watch(['./themes/custom/shinedelhi/css/style.css', './themes/custom/shinedelhi/**/*.twig', './themes/custom/shinedelhi/js/*.js'], function (files){
        livereload.changed(files)
    });
}); 

1 个答案:

答案 0 :(得分:0)

您可以使用gulp从终端调用Gulp,并在当前工作目录下搜索gulpfile.js。这样做,它会搜索default任务并调用它。

您还可以将参数传递给gulp,然后搜索具有相同参数名称的任务,即在您的脚本中如果您只是在终端中执行gulp watch,它应该执行(如果您是在正确的目录中执行它,并且您的gulpfile正确命名为gulpfile.js任务{/ 1}}。

所以,我敢打赌只有watch会为你设置gulp监视进程,然后来自终端的gulp watch命令应该设置scss和uglify观察者。

这就是说,你需要这个才能调用观察者。这并不意味着它将按预期工作。当你拥有gulp文件时,你必须确保文件夹中的.scss和.js文件的路径是正确的 - 你必须在cmd终端使用gulpfile.js命令才能使用相同的文件夹 -

如果你想在终端上使用你的Gulp只是一个简单的'gulp'命令,你必须设置一个调用另一个任务的'默认'任务。在你的情况下,它可能是:

gulp