Pytanie:
Oto problem, który napotkałem, postępowałem zgodnie z tutorialem i skończyło się na tym, że próbowałem skompilować następujący scss
plik i próbowałem wygenerować z niego kod CSS,
.fatty{
width: percentage(6/7);
}
za pomocą następującego gulpfile.js
zadania:
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'))
});
Więc otrzymuję następujący błąd:
~/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...
Rozwiązanie:
Pokazuje więc index.js
plik, który znajduje się w moim module gulp-sass (który jest w zasadzie zablokowany i nie powinien być edytowany). Ale jeśli pójdę na siłę i dodam "use_strict"
na początku tego index.js
pliku, moje zadanie będzie przebiegać sprawnie.
Byłem bezradny, więc nadal używam tego jako rozwiązania! Ale potem, po przejrzeniu kilku innych pytań i odpowiedzi SO , zobaczyłem następującą odpowiedź :
sudo npm install -g n
sudo n stable
i wcześniej zaktualizowałem moje NodeJ (do wersji 10.x), a następnie przebudowałem Gulp, uruchamiając następujące polecenia zgodnie z instrukcjami Terminal:
npm rebuild node-sass --force
I wszystko w porządku. Więc tak to zostało rozwiązane. Cofnąłem zmiany, które wprowadziłem dla index.js
pliku modułu gulp. A teraz działa płynnie.
Mam nadzieję, że ta odpowiedź będzie pomocna dla kogoś tam!