我的目标是在使用gulp -ruby-sass 时使用一个带有n 个资产部分的scss 文件来创建n 个css 样式表。
这是我的目录结构的示例:
- project_folder
gulpfile.js
- css
_asset.scss
style.scss
在“gulpfile.js”里面会有以下内容:
var gulp = require('gulp');
var sass = require('gulp-ruby-sass');
gulp.task('build', function() {
return sass([
'css/_asset.scss',
'css/**/*.scss'
])
.pipe(gulp.dest('css'));
});
gulp.task('default', ['build']);
在“_asset.scss”里面会有以下内容:
$textColor: #444444;
在“style.scss”里面会有以下内容:
//@import "_asset";
.myTextColor {
color: $textColor;
}
通过运行 gulp 我会得到错误:
错误 css/style.scss(第 3 行:未定义变量:“$textColor”。)
假设我要取消注释 style.scss 中的第 1 行。然后运行 gulp 应该正确编译 style.scss 以创建 style.css,但取消注释第 1 行不是我正在寻找的答案。我需要 gulp 使用 gulp-ruby-sass 或其他插件来完全执行 style.scss 上的第 1 行正在执行的操作,或者类似的操作,并获得相同的结果。
PS(希望通过这个解决方案,我可以使用“gulp-rename”并能够使用多个资产文件生成多个 css 样式表,并且只使用一个 scss 文件!)