node.js - update - webpack autoprefixer css




Gulp-autoprefixer jogando ReferenceError: Promise não está definido (3)

Eu atualizei node.js para a versão mais recente usando:

# Using Ubuntu
curl -sL https://deb.nodesource.com/setup_4.x | sudo -E bash -
sudo apt-get install -y nodejs

para minha máquina Ubuntu, como mostrado here .

Depois disso, atualizei o NPM usando:

sudo npm cache clean -f
sudo npm install -g n
sudo n stable

Como mostrado here .

Agora o gulp-autoprefixer começa a funcionar, mas gulp-autoprefixer um erro do gulp-sass . Eu atualizei usando esta instrução:

  1. Exclua sua pasta node_modules
  2. Remover gulp-sass do seu arquivo package.json
  3. Remova node-sass do seu arquivo package.json (se você tiver lá)
  4. Execute o npm install gulp-sass --save-dev
  5. Atualize sua tarefa de Gulp conforme necessário

Encontrado here Agora eu tenho "gulp-sass": "^2.0.4" e isso corrigiu todos os meus problemas.

Obrigado por conselhos e ajuda.

Eu tento fazer um gulp compilar meu sass, em seguida, autoprefixit com gulp-autoprefixer mas estou recebendo um erro.

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')); 
});

Estou tentando rodar este Gulpfile.js e estou usando:

"gulp": "~3.9.0",
"gulp-sass": "~2.0.4",
"gulp-autoprefixer": "~3.0.1",

e NPM versão 1.3.10

Quando eu corro gulp test eu recebo isso:

/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)

Eu realmente não sei o que estou fazendo errado. Não está funcionando quando eu uso sass ou css simples. Eu acho que é algo com meus arquivos.


Instale o es6-promise no local do projeto onde o package.json existe

npm install es6-promise

Então faça a primeira linha do seu gulpfile.js ser o seguinte código:

var Promise = require('es6-promise').Promise;

Tive o mesmo problema. Para mim, atualizar o nó não funcionou, mas adicionando isso no início do meu gulpfile fez:

require('es6-promise').polyfill();




autoprefixer