Intento hacer una compilación de trago mi sass y luego autoprefixit con gulp-autoprefixer
pero obtengo un error.
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'));
});
Estoy tratando de ejecutar esto Gulpfile.js
y estoy usando:
"gulp": "~3.9.0",
"gulp-sass": "~2.0.4",
"gulp-autoprefixer": "~3.0.1",
y versión NPM 1.3.10
Cuando corro, gulp test
obtengo esto:
/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)
Realmente no sé qué estoy haciendo mal. No funciona cuando uso sass o simple css. Creo que es algo con mis archivos.
node.js
npm
gulp
autoprefixer
Matei
fuente
fuente
Respuestas:
Tuve el mismo problema. Para mí, la actualización del nodo no funcionó, pero agregar esto al comienzo de mi archivo gulp lo hizo:
require('es6-promise').polyfill();
fuente
cannot find module es6-promise
npm install es6-promise
en tu terminalActualicé node.js a la última versión usando:
# Using Ubuntu curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash - sudo apt-get install -y nodejs
para mi máquina Ubuntu, como se muestra aquí .
Después de eso, actualicé NPM usando:
Como se muestra aquí .
Ahora el
gulp-autoprefixer
comienzo a trabajar pero recibí un error degulp-sass
. Lo actualicé usando esta instrucción:Encontrado aquí . Ahora tengo
"gulp-sass": "^2.0.4"
y esto solucionó todos mis problemas.Gracias por el consejo y la ayuda.
fuente
node-sass
trabajarnpm rebuild node-sass
después de actualizar node.sudo npm cache clean -f sudo npm install -g n sudo n stable
y solíanpm rebuild node-sass
solucionar el problema de node-sass. :)Instale es6-promise en la ubicación de su proyecto donde existe package.json
Luego haga que la primera línea de su gulpfile.js sea el siguiente código:
var Promise = require('es6-promise').Promise;
fuente
Esto no responde a la pregunta directamente, pero podría ser útil para las personas que obtienen este error al intentar ejecutar el tutorial de ionic 2.
Como señalan otras respuestas, el problema es que
es6-promise
falta.Recibí el mismo error al intentar iniciar el tutorial de ionic 2 ( https://github.com/driftyco/ionic2-starter-tutorial ): (mi versión de ionic 2 es 2.0.0-beta.25 y la última confirmación del tutorial es ed9ef2fcce887e4d1c08c375c849b06b8394bad7 )
Este es el seguimiento de la pila que obtuve al intentar ejecutar la aplicación con
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)
Nuevamente, como lo señalan otras respuestas, así es como se resuelve esto:
edite gulpfile.js y agregue en la línea 6:
require('es6-promise').polyfill();
instale la dependencia que falta con:
npm install es6-promise --save
Después de estos cambios, el problema se solucionó y pude iniciar el servidor local.
fuente