1

我无法让 grunt-sass 编译为 .css。看过很多其他类似的帖子并使用了建议,但似乎没有任何效果。

我可以让其他插件正常工作(例如 'del' 删除内容,如图所示)所以看起来我的环境没问题,我可以让普通的 vanilla sass 编译/监视正常工作。

这是我的设置以防万一:

OSX 小牛 10.9.5

$ ruby -v
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin13]

$ sass -v
Sass 3.4.9 (Selective Steve)

$ npm -v
2.1.12

$ brew -v
Homebrew 0.9.5

这是项目目录结构:

    ├── index.html
    │   
    ├── scss
    │    └── base.scss
    │          ├── _partial1.scss
    │          └── _partial2.scss
    │
    ├── assets
    │      └── css
    │           └── Nothing yet!
    │
    ├── deltest
    │    └── save.txt
    │
    ├── gulpfile.js
    │
    └── node_modules
         └── etc ...

这是我的 gulpfile.js:

var gulp = require('gulp');
var sass = require('gulp-sass');
var del = require('del');

gulp.task('gsas', function() {
    gulp.src('./scss/base.scss')
        .pipe(sass({ includePaths : ['./scss/'] }))
        .pipe(gulp.dest('./assets/css'))
});

del(['!deltest/save.txt', 'deltest/delete.txt'], function (err, deletedFiles) {
    console.log('Files deleted:', deletedFiles.join(', '));
});

gulp.task('default', function() {
    console.log('AAAAAAAAAAAAAAAARGH!');
});

谁能看到这里有什么问题?


更新 - 相同的任务在 Windows 框中静默失败:

这是来自 windows 盒测试的 gulpfile.js,我什至没有 @importing 任何部分(目录结构与任务设置中显示的完全相同,我直接从实际的插件示例中提取):

var gulp = require('gulp');
var sass = require('gulp-sass');
var del = require('del');

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

del(['delete/delete.txt', '!delete/save.txt'], function (err, deletedFiles) {
    console.log('Files deleted:', deletedFiles.join(', '));
});

gulp.task('default', function () {
    console.log("Made it!");
});

在这个例子中,我再次让“del”任务运行良好,但 gulp-sass 默默地失败了,这真的令人困惑。

4

1 回答 1

4

如果您希望在sass从命令行运行时执行任务gulp,请将其添加为default任务的依赖项:

gulp.task('default', ['sass'], function() {
  //other stuff
});
于 2014-12-11T19:53:07.723 回答