@M1miK23

Почему не работает Gulp?

PS C:\Users\Dima\Desktop\coursehunter\Uber> gulp
Using gulpfile ~\Desktop\coursehunter\Uber\gulpfile.js
[15:58:35] Starting 'default'...
[15:58:35] Starting 'watch'...
[15:58:35] Starting 'server'...
[15:58:35] Starting 'styles'...
[15:58:35] Starting 'scripts'...
[15:58:35] Starting 'fonts'...
[15:58:35] Starting 'icons'...
[15:58:35] Starting 'html'...
[15:58:35] Starting 'images'...
[15:58:35] 'styles' errored after 116 ms
[15:58:35] TypeError: sass is not a function
at C:\Users\Dima\Desktop\coursehunter\Uber\gulpfile.js:23:15
at styles (C:\Users\Dima\Desktop\coursehunter\Uber\node_modules\undertaker\lib\set-task.js:13:15)
at bound (domain.js:421:15)
at runBound (domain.js:432:12)
at asyncRunner (C:\Users\Dima\Desktop\coursehunter\Uber\node_modules\async-done\index.js:55:18)
at processTicksAndRejections (internal/process/task_queues.js:77:11)
[15:58:35] 'default' errored after 123 ms

Содержимое gulpfile.js

const gulp = require('gulp');
const browserSync = require('browser-sync');
const sass = require('gulp-sass')(require('sass'));
const cleanCSS = require('gulp-clean-css');
const autoprefixer = require('gulp-autoprefixer');
const rename = require("gulp-rename");
const imagemin = require('gulp-imagemin');
const htmlmin = require('gulp-htmlmin');

gulp.task('server', function() {

browserSync({
server: {
baseDir: "dist"
}
});

gulp.watch("src/*.html").on('change', browserSync.reload);
});

gulp.task('styles', function() {
return gulp.src("src/sass/**/*.+(scss|sass)")
.pipe(sass({ outputStyle: 'expanded' }).on('error', sass.logError))
.pipe(rename({suffix: '.min', prefix: ''}))
.pipe(autoprefixer())
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest("dist/css"))
.pipe(browserSync.stream());
});

gulp.task('watch', function() {
gulp.watch("src/sass/**/*.+(scss|sass|css)", gulp.parallel('styles'));
gulp.watch("src/*.html").on('change', gulp.parallel('html'));
gulp.watch("src/js/**/*.js").on('change', gulp.parallel('scripts'));
gulp.watch("src/fonts/**/*").on('all', gulp.parallel('fonts'));
gulp.watch("src/icons/**/*").on('all', gulp.parallel('icons'));
gulp.watch("src/img/**/*").on('all', gulp.parallel('images'));
});

gulp.task('html', function () {
return gulp.src("src/*.html")
.pipe(htmlmin({ collapseWhitespace: true }))
.pipe(gulp.dest("dist/"));
});

gulp.task('scripts', function () {
return gulp.src("src/js/**/*.js")
.pipe(gulp.dest("dist/js"))
.pipe(browserSync.stream());
});

gulp.task('fonts', function () {
return gulp.src("src/fonts/**/*")
.pipe(gulp.dest("dist/fonts"))
.pipe(browserSync.stream());
});

gulp.task('icons', function () {
return gulp.src("src/icons/**/*")
.pipe(gulp.dest("dist/icons"))
.pipe(browserSync.stream());
});

gulp.task('images', function () {
return gulp.src("src/img/**/*")
.pipe(imagemin())
.pipe(gulp.dest("dist/img"))
.pipe(browserSync.stream());
});

gulp.task('default', gulp.parallel('watch', 'server', 'styles', 'scripts', 'fonts', 'icons', 'html', 'images'));

Содержимое package.json

"name": "pulse",
"version": "1.0.0",
"description": "",
"main": "gulpfile.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"devDependencies": {
"browser-sync": "^2.26.12",
"dart-sass": "^1.25.0",
"gulp": "^4.0.2",
"gulp-autoprefixer": "^6.1.0",
"gulp-clean-css": "^4.3.0",
"gulp-cli": "^2.3.0",
"gulp-htmlmin": "^5.0.1",
"gulp-imagemin": "^6.2.0",
"gulp-rename": "^1.4.0",
"gulp-sass": "^4.1.1",
"sass": "^1.42.1"
},
"browserslist": [
"last 1 version",
"> 1%",
"maintained node versions",
"not dead"
]
}
  • Вопрос задан
  • 370 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Flying
У вас не установлен или не подключен gulp-sass.

Более точно можно сказать только видя содержимое Gulpfile.js

UPD: Причина наверняка в том, что версия gulp-sass ниже 5-й, поскольку синтаксис явного подключения компилятора появился только в 5-й версии. Нужно смотреть в package.json.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы