2016-12-26 109 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']);