0

源链接- 我不知道这里缺少什么

如果我不包括json 文件,一切都很好

1) gulpfile.js

var jsonSass = require('gulp-json-sass'),
    gulp = require('gulp'),
    concat = require('gulp-concat'),
    sass = require('gulp-ruby-sass');


    gulp.task('sass', function() {
      return gulp
        .src(['sass/example.json', 'sass/example.scss'])
        .pipe(jsonSass({
          sass: true
        }))
        .pipe(concat('output.scss'))
        .pipe(sass())
        .pipe(gulp.dest('out/'));
});

gulp.task('default', ['sass']);

2)example.json

{
    "color": "blue"
}

3) example.scss 文件

.test{
    color:$color; 
}

4) 错误信息 在此处输入图像描述

4

1 回答 1

1

1.你想输出SCSS,而不是SASS。这意味着您的sass选择gulp-json-sass是错误的。从文档

如果为真,则输出有效的 sass 变量。如果为 false,则输出 scss 变量。

2.不能gulp-ruby-sass在管道中使用。从文档

使用gulp-ruby-sass而不是gulp.src编译 Sass 文件。

这意味着.pipe(sass())行不通。您必须使用gulp-sass而不是gulp-ruby-sass.

var jsonSass = require('gulp-json-sass'),
    gulp = require('gulp'),
    concat = require('gulp-concat'),
    sass = require('gulp-sass');

gulp.task('sass', function() {
  return gulp.src(['sass/example.json', 'sass/example.scss'])
    .pipe(jsonSass({
      sass: false 
    }))
    .pipe(concat('output.scss'))
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('out/'));
});
于 2016-04-25T11:08:48.243 回答