node.js - Gulp-autoprefixer 抛出 ReferenceError : Promise is not defined

标签 node.js npm gulp autoprefixer

我尝试让 gulp 编译我的 sass,然后使用 gulp-autoprefixer 进行 autoprefixit,但出现错误。

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

我正在尝试运行这个 Gulpfile.js 并且我正在使用:

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

和NPM版本1.3.10

当我运行 gulp test 我得到这个:

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

我真的不知道我做错了什么。当我使用 sass 或纯 css 时不起作用。我认为我的文件有问题。

最佳答案

有同样的问题。对我来说,更新 Node 不起作用,但在我的 gulpfile 开头添加它:

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

关于node.js - Gulp-autoprefixer 抛出 ReferenceError : Promise is not defined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32490328/

相关文章:

javascript - 如何从计算属性 Vue.js 访问数据

javascript - Google Slides API 无法从页面实例读取幻灯片内容 (Node.Js)

javascript - 由于包名称中的连字符而导致令人困惑的 TypeScript 错误?

node.js - 将 npm .scss 导入 Meteor App

javascript - 呃!尝试将包发布到 npm 时出现 403

javascript - 如何使用 Gulp 通过 config.json 文件替换 HTML 属性中的值?

node.js - Redis Node JS - 存储同一类的多个对象

javascript - 为什么输入在 React 生成时不起作用

javascript - 从 Gulp 生成的 Sourcemap,没有按预期工作

json - 如何将多个 JSON 文件拉入 Node.js 上的 SWIG 中?