2015-04-04 76 views
0

當我第一次運行gulp任務(默認)時,sass任務在Bower軟件包上給出錯誤。更具體地說,在Susy使用Libsass&Susy默認任務時的Gulp Bower錯誤

錯誤:

Plumber found unhandled error: 
    Error in plugin 'gulp-sass' 
    Message: 
     file to import not found or unreadable: su/utilities 
    Current dir: /Users/Jeroen/sites/gulp/bower_components/susy/sass/susy/ 

超對稱涼亭包裝被成功地安裝了gulp-bower,從我bower.json文件利用其信息。但是,當默認任務到達sass任務時,它無法找到Susy。

style.scss

@import "../bower_components/susy/sass/susy"; 

當我第一次運行gulp這隻發生。此錯誤發生後,watch任務不會停止/中斷,並且繼續工作。 (我可以在沒有問題的情況下編譯sass)。

但它看起來有點凌亂,關於如何防止這種情況的任何想法?

你可以在這裏看到我的整個gulpfile.js: https://gist.github.com/JeroenDelbrk/798d646af5cc2ad78da0

提示我如何能提高我的gulpfile,無關這個問題,也歡迎。

回答

0

在這一行

gulp.task('default', ['bower', 'sass', 'scripts', 'imagemin', 'iconfont', 'watch']); 

所有的任務並行獲取執行。如果你沒有任何依賴關係,這很好。然而,從您的解釋來看,成功運行sass強烈依賴於成功執行bower。當您運行sass時,bower可能無法完成,因此無法提供您需要的文件。

要在Gulp 3. *中解決這個問題,您需要正確連接您的依賴關係。我建議如下:

// Define plugins 
var gulp = require('gulp'), 
    gulpLoadPlugins = require('gulp-load-plugins'); 
    $ = gulpLoadPlugins(); 

gulp.task('bower', function() { 
    return $.bower() 
    .pipe(gulp.dest('./bower_components')) 
}); 

// Sass compile + prefix task 
gulp.task('sass', ['bower'], function(){ 
    ... 
}); 



// Default Task 
gulp.task('default', ['sass', 'scripts', 'imagemin', 'iconfont']); 

// Watch Task 
gulp.task('watch', ['default'], function(){ 
    gulp.watch('sass/**/*.scss', ['sass']); 
    gulp.watch('js/*.js', ['scripts']); 
    gulp.watch('originals/*', ['imagemin']); 
    gulp.watch('icons/*.svg', ['iconfont']); 
}); 

和ruf gulp watch。這將執行可以同時並行運行的所有任務,但在sass之前將執行涼亭。您可能會遇到的一個問題:每次執行sass時,都會運行bower。這就是爲什麼我們會使用gulp-changed來防止重播。

gulp.task('bower', function() { 
    return $.bower() 
    .pipe(changed('./bower_components')) 
    .pipe(gulp.dest('./bower_components')) 
}); 

希望這有助於

+0

感謝,添加任務相關解決了這個問題。但是,當我在混合中添加'gulp-changed'時,會出現另一個錯誤:'TypeError:無法讀取'null'屬性'mtime'。我不知道這個插件,它看起來很有用。所以我會看看你能否實現它的工作。謝謝您的幫助! – Jrn 2015-04-04 20:46:56

+0

這可能是'gulp-changed'不工作的原因:https://github.com/sindresorhus/gulp-changed/issues/27 – Jrn 2015-04-04 21:22:42

+0

啊,夠公平的。 'gulp-newer'也可能是您可能感興趣的插件之一:https://www.npmjs.com/package/gulp-newer – ddprrt 2015-04-04 21:24:22

相關問題