2016-12-26 100 views
-1

我编辑“_globals.scss”时,我的Gulpfile.js不工作,甚至没有创建css文件夹,也不会自动添加文件。这段代码也没有任何宝顶变化时,我创建了这个文件就像在“_globals.scss”体色变化的变化也没有工作,帮助我如何在窗口中使用CMDGulpfile.js文件不能正常工作?

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) 
    }); 
}); 
+0

你是如何调用gulpfile? “吞噬”还是“吞食”?后者应该工作,AFAIK。前者需要一个调用“监视”任务的“默认”任务。 – Sergeon

回答

0

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

您也可以将参数传递给gulp,然后它搜索具有相同参数名称的任务,即在脚本中,如果您只是在终端中执行gulp watch,它应该执行(假设您正在执行它您的watch任务正确命名为gulpfile.js)正确的目录和您的gulp文件。

所以,我敢打赌,只是gulp watch会为您设置一揽子观察过程,然后从终端命令gulp应该设置scss和uglify观察者。

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

在你想用你的咕嘟咕嘟只是从终端裸“一饮而尽”命令,你必须建立一个“默认”的任务,调用其他任务的情况下,在你的情况下,它可以像:

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