我无法让grunt-sass编译成.css。已经看到了大量其他类似帖子并使用了建议,但似乎没有任何效果。
我可以让其他插件工作正常(例如'del'删除东西,这里显示)所以看起来我的环境还可以,我可以让普通的香草sass编译/观看工作正常。
以下是我的设置,以防万一:
OSX Maverics 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 box测试的gulpfile.js,我甚至没有@importing任何部分(dir结构完全,如任务设置中所示,我直接从实际中提取插件示例):
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无声地失败,这真是令人费解。
答案 0 :(得分:4)
如果您希望在从命令行运行sass
时执行gulp
任务,请将其添加为default
任务的依赖项:
gulp.task('default', ['sass'], function() {
//other stuff
});