Вопрос:
Ниже приведена проблема, с которой я столкнулся, я следовал учебному пособию, и в итоге я попытался скомпилировать следующий scss
файл и сгенерировать из него код CSS,
.fatty{
width: percentage(6/7);
}
используя следующую gulpfile.js
задачу:
var gulp = require('gulp');
var sass = require('gulp-sass');
gulp.task('sass', function () {
return gulp.src('app/scss/styles.scss')
.pipe(sass())
.pipe(gulp.dest('app/css'))
});
Итак, ошибка, которую я получаю, заключается в следующем:
~/htdocs/Learning/gulp1/node_modules/gulp-sass/index.js:66
let sassMap;
^^^
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:373:25)
// stacktrace here...
Решение:
Итак, он показывает мне index.js
файл, который находится внутри моего модуля gulp-sass (который в основном заблокирован и не должен редактироваться). Но если я решительно добавлю "use_strict"
верхнюю часть этого index.js
файла, моя задача будет выполнена гладко.
Я был беспомощен, поэтому я продолжаю использовать это как решение! Но затем, пройдя некоторые другие вопросы и ответы по SO , я увидел следующий ответ :
sudo npm install -g n
sudo n stable
и вскоре я обновил свои NodeJ (до Version10.x), а затем перестроил Gulp, выполнив следующие команды, как дал мне указание терминала:
npm rebuild node-sass --force
И все в порядке. Так вот как это было решено. Я отменил изменения, которые я сделал для index.js
файла модуля gulp. И теперь все идет гладко.
Надеюсь, что этот ответ будет полезен для кого-то там!