我刚刚跟上this教程没有问题,开始使用SASS。正如您所看到的,它包含一个使用指南针混合的部分。我已经编译了包含.scss
的{{1}}个@import compass/css3/box-sizing
文件。
现在我想编译我的.scss
文件,但是使用Gulp。所以我遵循了this教程。所以现在我有这些文件:
//src/DefaultBundle/Resources/public/assets/css/main.scss
form {
span {
color: red;
}
}
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('default', function() {
gulp.src('src/DefaultBundle/Resources/public/assets/css/main.scss')
.pipe(sass())
.pipe(gulp.dest('web/css'));
});
因此,当我按照后一个教程说的那样运行$ gulp
时,我会得到.css
文件。
问题:如果我在@import compass/css/box-sizing
的顶部添加 .scss file
,则在运行$ gulp
时会出现此错误:
[13:12:01] Working directory changed to /var/www/my_project
[13:12:01] Using gulpfile /var/www/my_project/gulpfile.js
[13:12:01] Starting 'default'...
[13:12:01] Finished 'default' after 5.37 ms
events.js:72
throw er; // Unhandled 'error' event
^
Error: src/DefaultBundle/Resources/public/assets/css/main.scss
Error: File to import not found or unreadable: compass/css3/box-sizing
Parent style sheet: stdin
on line 2 of stdin
>> @import "compass/css3/box-sizing";
^
at options.error (/var/www/my_project/node_modules/gulp-sass/node_modules/node-sass/lib/index.js:277:32)
我在Ubuntu 15上。
答案 0 :(得分:0)
试试THIS。您还可以使用includePaths
选项添加任何部分:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('default', function() {
gulp.src('src/DefaultBundle/Resources/public/assets/css/main.scss')
.pipe(sass({
includePaths: ['./node_modules/compass-mixins/lib', './another/partials/location']
}))
.pipe(gulp.dest('web/css'));
});