в gulp-sass 5 нет компилятора Sass по умолчанию; пожалуйста, установите его самостоятельно

#npm #sass #gulp #gulp-sass

Вопрос:

Ошибка в сообщении плагина «gulp-sass» :

в gulp-sass 5 нет компилятора Sass по умолчанию; пожалуйста, установите его самостоятельно. Разрешены как пакеты sass , так и node-sass пакеты. Например, в вашем файле gulpfile:

 var sass = require('gulp-sass')(require('sass'));
 

Это мой код ниже . В нем говорится, что var sass = требуется(‘gulp-sass’)(требуется («sass»)); в ошибке, но я использую импорт, и ни одно из решений не сработало для меня
Я новичок в этом, и версия cli-2.3.0, локальная версия-4.0.2
пожалуйста, дайте мне решение, я застрял здесь на несколько дней

 import gulp from 'gulp';
import sass from 'gulp-sass';
import yargs from 'yargs';


const PRODUCTION = yargs.argv.prod;

export const styles = () => {
    return gulp.src('src/assets/scss/bundle.scss')
      .pipe(sass().on('error', sass.logError))
      .pipe(gulp.dest('dist/asset/css'));
}
 

Ответ №1:

У меня была эта проблема, и я обнаружил, что добавление стандартного npm sass npm install --save-dev sass , а затем добавление второго раздела сообщения об ошибке в мою переменную, чтобы это выглядело так, как будто это const sass = require('gulp-sass')(require('sass')); сработало.

Комментарии:

1. Я исправил это, но только установив SASS, а не 2-ю вещь. Добавление (require('sass')) в конец моего sass = заявления просто возвращается TypeError: sass is not a function .

2. Это так плохо, что после установки gulp-sass я должен получить ошибку, а затем поискать в Google, как ее исправить. В принципе, после установки gulp-sass каждый устанавливает сломанный плагин.

3. Как говорится, чтобы установить компилятор в вашем коде, sass.compiler = требуется(‘sass’); также отлично работает.

Ответ №2:

Если вы, как и я, используете модульную систему. Тогда это решение должно вам помочь!
Вам нужно установить SASS
Также необходимо, чтобы был установлен gulp-sass

 import pkg from 'gulp';
const { src, dest, series, watch } = pkg;
import concat from 'gulp-concat'

import dartSass from 'sass'
import gulpSass from 'gulp-sass'
const sass = gulpSass(dartSass)

function scss() {
    return src('app/scss/**/*.scss', { sourcemaps: true })
        .pipe(sass.sync().on('error', sass.logError)) // scss to css
        .pipe(concat('style.min.css'))
        .pipe(dest(config.build.style, { sourcemaps: '../sourcemaps/' }))
}

async function builds() { scss() }
export { builds }