ReferenceError: sass is not defined

ReferenceError: sass is not defined

当我为 scss 配置 gulp 和 运行 任务时,我收到错误提示 ReferenceError: sass is not defined 即使我已安装 gulp-scss 并在 gulp.js

中声明
var gulp = require('gulp');
var scss = require('gulp-sass');

gulp.task('sass', function () {
  return gulp.src('app/scss/mystyles.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('app/css'));
});

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

请指出我做错了什么。

requiregulp-sass 设为 scss,因此

  • 将其更改为 var sass = ...,或
  • 调用 scss()

你应该看看 link

您现在必须选择 node-sassdart-sass,方法是自行安装其中之一并在选项中进行设置。

不要忘记 const sass = require('node-sass')const sass = require('dart-sass')

根据您的要求将其添加到您的项目中。

请尝试以下操作

var gulp = require('gulp');
var scss = require('gulp-sass');
var sass = require('sass');  // This you need to add

gulp.task('sass', function () {
  return gulp.src('app/scss/mystyles.scss')
    .pipe(sass().on('error', sass.logError))
    .pipe(gulp.dest('app/css'));
});

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

另外请确保您使用 npm i sass --save-dev

安装了 npm sass