2016-01-13 50 views
1

下面是我目前的Gulpfile.js,當我試圖運行gulp minify,我發現了錯誤,「任務‘縮小’是不是在你的gulpfile」。但是,我可以運行gulp sass而沒有問題。我也有每個模塊安裝npm。gulpfile.js - 任務不一飲而盡文件錯誤

module.exports = function(gulp) { 
'use strict' 

var sass = require('gulp-sass'); 
var browserSync = require('browser-sync'); 
var cssnano = require('gulp-cssnano'); 
var concat = require('gulp-concat'); 
var rename = require('gulp-rename'); 

gulp.task('sass', function() { 
    return gulp.src('app/scss/**/*.scss') 
     .pipe(sass()) 
     .pipe(gulp.dest('app/css')) 
     .pipe(browserSync.reload({ 
      stream: true 
     })) 
}); 

gulp.task('minify', function() { 
    return gulp.src('app/css/**/*.css') 
     .pipe(cssnano()) 
     .pipe(concat('style.min.css')) 
     .pipe(gulp.dest('app/css/min')) 
     .pipe(browserSync.reload({ 
      stream: true 
     })) 
}); 

gulp.task('watch', ['browserSync', 'sass', 'cssnano'], function() { 
    gulp.watch('app/scss/**/*.scss', ['sass']); 
    gulp.watch('app/*.html', browserSync.reload); 
    gulp.watch('app/js/**/*.js', browserSync.reload); 

}); 

gulp.task('browserSync', function() { 
    browserSync({ 
     server: { 
     baseDir: 'app/' 
     }, 
    }) 
}) 
} 
+0

gulpfiles不包含在像gruntfiles這樣的函數中。 – thelostspore

回答

0

你不應該把gulpfile.js爲節點模塊拖放以下部分

module.exports = function(gulp) { 

(不要忘了在gulpfile.js年底去除右大(}))

然後,如果您需要一飲而盡

var gulp = require('gulp'); 

這應該讓它流暢運行。


爲什麼它運行您的gulp sass,我不知道。我剛剛在一個新目錄中創建了一個簡單的測試文件,但它並沒有爲我識別sass任務。也許你在某個時候全局安裝了gulpsass或者兩者(例如,較早的項目)。

+0

偉大的一點羅吉爾。我認爲這是可能的原因,但是,如果我有'gulp','sass',以及作爲dev依賴項安裝的所有其他節點模塊,爲什麼我會看到這個錯誤? – Jeff

+0

它很可能是一個搜索路徑問題,在OSX/Linux上,你可以在你的終端中輸入一個命令'which gulp',這將給出你正在運行的'gulp'可執行文件的位置(如果這不是'./ node_modules/.bin/gulp'你沒有使用'gulp'的項目安裝)。然後您可以通過運行'./node_modules/.bin/gulp minify'來嘗試自己提供正確的路徑。 我不完全理解的部分是'gulp'找到了'gulpfile.js',顯然它必須成功註冊'sass'任務,儘管'gulp' AFAIK只在當前目錄中查找'gulpfile.js'。 –