1

我正在尝试在我的项目中使用 gulp-sass,但是当我运行 gulp 任务时,我不断收到错误消息:

“错误:找不到要导入的文件或无法读取:指南针/重置”

我的 gulp 文件目前非常基本:

// Include gulp
var gulp = require('gulp'); 

// Include Our Plugins
var sass = require('gulp-sass')

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

我可以通过在终端中使用“compass watch”来编译 sass,但想尝试用 gulp 来编译,但我对此感到很困惑。任何帮助将非常感激。

4

1 回答 1

0

您没有“监视”任务集,这就是您的 gulp 文件没有做任何事情的原因 - 除了运行 sass 函数的对象以及应该在哪里吐出 CSS 之外,您没有告诉 gulp 文件任何其他内容.

您需要设置一个监视功能(因此当文件更改时,会发生一些事情),然后是您想做的任何其他事情(缩小、扩展、压缩、重新加载浏览器),然后包装您的 sass 并监视将被调用的任务从终端运行 gulp 时的默认功能。

有很多可用的教程,所以你可以找到一个对你有帮助的。虽然,我发现 gulp 对你的开发环境来说真的很麻烦,而且不同的 gulp-sass 模块工作方式不同(例如 gulp-ruby-sass 似乎不喜欢通配,所以有很多陷阱)

这只是我的 gulpfile 的一个示例,但请注意,目前在我的 sass 中导入我的变量文件夹时会引发错误。

var gulp = require('gulp');
var sass = require('gulp-sass');
var maps = require('gulp-sourcemaps');
var livereload = require('gulp-livereload');
gulp.task('styles', function() {
    gulp.src('postercatalogue/sites/all/themes/postomega/sass/**/*.scss', {style:'expanded'})
    .pipe(sass({sourcemap: true}))
    .pipe(gulp.dest('./css'))
    .pipe(livereload());
    });
gulp.task('watch', function(){
    livereload.listen();
    gulp.watch('sass/**/*.scss',['styles']);
    });    
gulp.task('default',['styles','watch']);
于 2015-06-07T03:30:45.640 回答