【gulp-sass】error: File to import not found or unreadable


  簡要記錄一下在使用gulp-sass時候踩的坑,雖然不明所以然,但是似乎在https://github.com/dlmanning/gulp-sass/issues/1 找到了答案。
在使用gulpfile配置監聽文件更新自動編譯時候出現了一個這個錯誤:“error: File to import not found or unreadable: ./m-body


而且會出現一種奇怪的現象,當改動某個文件遇到這個報錯后再重新啟動編譯就正常監聽了該文件了,但是其他文件卻不行,都是得在那個文件報錯后再重新啟動編譯才正常。
嘗試各種解決方案都無果,一度以為是gulpfile文件編寫有錯:

 1 var gulp = require('gulp');
 2 var sass = require('gulp-sass');
 3 var minifyCSS = require('gulp-minify-css');
 4 var rename = require('gulp-rename');
 5 var browserSync = require('browser-sync').create();
 6 
 7 // Static server
 8 gulp.task('browser-sync', function() {
 9     browserSync.init({
10         server: {
11             baseDir: './'
12         }
13     });
14 });
15 
16 // Build and Reload css files
17 gulp.task('compressCSS', function() {
18     gulp.src('src/styles/**/*.scss')
19         .pipe(sass({
20             outputStyle: 'compressed'
21         }))
22         .on('error', sass.logError)
23         .pipe(minifyCSS())
24         .pipe(rename({
25             suffix: '.min'
26         }))
27         .pipe(gulp.dest('prd/styles'))
28         .pipe(browserSync.stream());
29 });
30 
31 
32 // Reload HTML file
33 gulp.task('reloadHTML', function() {
34     gulp.src('./index.html')
35         .pipe(browserSync.stream());
36 });
37 
38 // Watch files for changes & recompile
39 gulp.task('watch', function() {
40     gulp.watch(['src/styles/**/*.scss'], ['compressCSS']);
41     gulp.watch(['./index.html'], ['reloadHTML']);
42 });
43 
44 // Default task, running just `gulp` will move font, compress js and scss, start server, watch files.
45 gulp.task('default', ['compressCSS', 'browser-sync', 'watch']);

最后在https://github.com/dlmanning/gulp-sass/issues/1 找到了答案:Sublime文本和緩慢的硬盤驅動器的組合造成的。 我們能夠通過將設置atomic_save更改為true來解決它。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM