Ошибка при компиляции *.sass через Gulp

143
19 апреля 2018, 11:37

Для проекта нужно сделать компиляцию *.sass файлов через gulp. Я установил gulp и gulp-sass модули через npm(sudo npm i --save-dev gulp && sudo npm i --save-dev gulp-sass). Создал и заполнил файл gulpfile.js(Содержание ниже). Пытаюсь запустить(gulp sass:watch) и ошибка.

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

'use strict';
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
  gulp.src('./sass/**/*.sass')
    .pipe(gulp.dest('./css'));
});
gulp.task('sass:watch', function () {
  gulp.watch('./sass/**/*.sass', ['sass']);
});

Содержимое ошибки

SyntaxError: Block-scoped declarations (let, const, function, class) not yet supported outside strict mode
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/surokdima/Programming/JavaScript/GenerateCssApp/gulpfile.js:4:12)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

Также пытался убрать 'use strict';. Но ошибка осталась.

Потом попытался запустить вот так gulp sass:watch --use-strict.

Тогда получаю вот такую ошибку:

SyntaxError: Octal literals are not allowed in strict mode.
    at exports.runInThisContext (vm.js:53:16)
    at Module._compile (module.js:374:25)
    at Object.Module._extensions..js (module.js:417:10)
    at Module.load (module.js:344:32)
    at Function.Module._load (module.js:301:12)
    at Module.require (module.js:354:17)
    at require (internal/module.js:12:17)
    at Object.<anonymous> (/home/surokdima/Programming/JavaScript/GenerateCssApp/node_modules/globule/node_modules/glob/glob.js:39:10)
    at Module._compile (module.js:410:26)
    at Object.Module._extensions..js (module.js:417:10)

В чём ошибки понять не могу. Помогите пожалуйста устранить эту проблему. Буду благодарен любому ответу.

Answer 1

Кажется, что ошибка находится внутри кода gulp-sass. Какая версия у вас node.js? При старых версиях, нельзя употреблять "let". Возможно, gulp-sass употребляет "let".

READ ALSO
Серверный рендеринг React + Django

Серверный рендеринг React + Django

Доброго времени суток, пишу SPA, используя Реакт и Джанго, подружил которые друг с другом с помощью webpack-django-loader и Django REST Framework - Джанго передает...

214
this в addEventListener

this в addEventListener

Как правильно через addEventListener передать this, в функцию deleteFile?

158
Методы объекта ES5

Методы объекта ES5

Можно ли обратиться к методу объекта изнутри через binding identifier, как во второй функции?

119