Próbuję jednym haustem skompilować mój sass, a następnie autoprefixit za pomocą, gulp-autoprefixer
ale pojawia się błąd.
var gulp = require('gulp'),
sass = require('gulp-sass'),
autoprefixer = require('gulp-autoprefixer');
gulp.task('test', function(){
gulp.src('_sass/main.sass')
.pipe(sass())
.pipe(autoprefixer())
.pipe(gulp.dest('./assets/css'));
});
Próbuję to uruchomić Gulpfile.js
i używam:
"gulp": "~3.9.0",
"gulp-sass": "~2.0.4",
"gulp-autoprefixer": "~3.0.1",
i wersja NPM 1.3.10
Kiedy biegnę, gulp test
dostaję to:
/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:152
this.processing = new Promise(function (resolve, reject) {
^
ReferenceError: Promise is not defined
at LazyResult.async (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:152:31)
at LazyResult.then (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:75:21)
at DestroyableTransform._transform (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/index.js:28:13)
at DestroyableTransform.Transform._read (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:172:10)
at DestroyableTransform.Transform._write (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:160:12)
at doWrite (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:326:12)
at writeOrBuffer (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:312:5)
at DestroyableTransform.Writable.write (/home/matei/Tests/test-4/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:239:11)
at write (/home/matei/Tests/test-4/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:623:24)
at flow (/home/matei/Tests/test-4/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:632:7)
Naprawdę nie wiem, co robię źle. Nie działa, gdy używam sass lub zwykłego CSS. Myślę, że jest coś z moimi plikami.
node.js
npm
gulp
autoprefixer
Matei
źródło
źródło
Odpowiedzi:
Miałem ten sam problem. Dla mnie aktualizacja węzła nie działała, ale dodanie tego na samym początku mojego pliku gulpfile:
require('es6-promise').polyfill();
źródło
cannot find module es6-promise
npm install es6-promise
w swoim terminaluZaktualizowałem node.js do najnowszej wersji przy użyciu:
# Using Ubuntu curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs
dla mojego komputera Ubuntu, jak pokazano tutaj .
Następnie zaktualizowałem NPM za pomocą:
Jak pokazano tutaj .
Teraz
gulp-autoprefixer
zacznij działać, ale dostałem błąd odgulp-sass
. Zaktualizowałem go za pomocą tej instrukcji:Znaleziono tutaj. Teraz mam
"gulp-sass": "^2.0.4"
i to rozwiązało wszystkie moje problemy.Dzięki za radę i pomoc.
źródło
node-sass
pracęnpm rebuild node-sass
po uaktualnieniu węzła.sudo npm cache clean -f sudo npm install -g n sudo n stable
i użyłemnpm rebuild node-sass
do naprawienia problemu z node-sass. :)Zainstaluj es6-promise w lokalizacji Twojego projektu, w której istnieje plik package.json
Następnie ustaw pierwszy wiersz pliku gulpfile.js na następujący kod:
var Promise = require('es6-promise').Promise;
źródło
Nie odpowiada to bezpośrednio na pytanie, ale może być przydatne dla osób, które otrzymają ten błąd podczas próby uruchomienia samouczka ionic 2.
Jak wskazują inne odpowiedzi, problem polega na tym, że
es6-promise
brakuje.Wystąpił ten sam błąd podczas próby uruchomienia samouczka ionic 2 ( https://github.com/driftyco/ionic2-starter-tutorial ): (moja wersja ionic 2 to 2.0.0-beta.25, a najnowsze zatwierdzenie samouczka to ed9ef2fcce887e4d1c08c375c849b06b8394bad7 )
Oto ślad stosu, który otrzymałem podczas próby uruchomienia aplikacji z
ionic serve
:Running 'serve:before' gulp task before serve [18:37:00] Starting 'clean'... [18:37:01] Finished 'clean' after 1.02 s [18:37:01] Starting 'watch'... [18:37:01] Starting 'sass'... [18:37:01] Starting 'html'... [18:37:01] Starting 'fonts'... [18:37:01] Starting 'scripts'... [18:37:01] Finished 'scripts' after 62 ms [18:37:01] Finished 'html' after 72 ms [18:37:01] Finished 'fonts' after 77 ms Caught exception: ReferenceError: Promise is not defined at LazyResult.async (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:157:31) at LazyResult.then (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/postcss/lib/lazy-result.js:79:21) at DestroyableTransform._transform (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/index.js:24:6) at DestroyableTransform.Transform._read (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:159:10) at DestroyableTransform.Transform._write (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_transform.js:147:83) at doWrite (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:313:64) at writeOrBuffer (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:302:5) at DestroyableTransform.Writable.write (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-autoprefixer/node_modules/through2/node_modules/readable-stream/lib/_stream_writable.js:241:11) at DestroyableTransform.ondata (/home/stitakis/dev/playground/ionic2/myTutorial/node_modules/ionic-gulp-sass-build/node_modules/gulp-sass/node_modules/through2/node_modules/readable-stream/lib/_stream_readable.js:531:20) at DestroyableTransform.EventEmitter.emit (events.js:95:17)
Ponownie, jak wskazują inne odpowiedzi, oto jak rozwiązać ten problem:
edytuj plik gulpfile.js i dodaj w linii 6:
require('es6-promise').polyfill();
zainstaluj brakującą zależność za pomocą:
npm install es6-promise --save
Po tych zmianach problem został rozwiązany i mogłem uruchomić lokalny serwer.
źródło