gulp-json-sass - 无法包含 json 文件

gulp-json-sass - Cannot include json file

Source link - 我不知道这里少了什么

如果我不包括 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) 错误信息

1. 你想输出SCSS,而不是SASS。这意味着您的 sass 选项 gulp-json-sass 是错误的。来自 docs:

If truthy, output valid sass variables. If false, output scss variables.

2. 不能在管道中使用 gulp-ruby-sass。来自 docs:

Use gulp-ruby-sass instead of gulp.src to compile Sass files.

这意味着 .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/'));
});