相关疑难解决方法(0)

Gulp-autoprefixer抛出ReferenceError:未定义Promise

我尝试用一​​个gulp编译我的sass然后autoprefixit gulp-autoprefixer但我得到一个错误.

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')); 
});
Run Code Online (Sandbox Code Playgroud)

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

"gulp": "~3.9.0",
"gulp-sass": "~2.0.4",
"gulp-autoprefixer": "~3.0.1",
Run Code Online (Sandbox Code Playgroud)

和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)
Run Code Online (Sandbox Code Playgroud)

我真的不知道我做错了什么.当我使用sass或plain …

node.js npm gulp autoprefixer

81
推荐指数
3
解决办法
3万
查看次数

Node.js中对Promise的本机支持

在当前版本的Node.js中是否支持promises?

Node.js使用V8引擎.Chrome也使用此JavaScript引擎,Chrome 32本身也支持承诺.但我似乎无法在Node.js中获得承诺(本机).

我在Chrome 32中尝试了以下代码,它可以运行.

var promise = new Promise(function(resolve, reject) {
  // do a thing, possibly async, then…

  if ( 1===1 /* everything turned out fine */) {
    resolve("Stuff worked!");
  }
  else {
    reject(Error("It broke"));
  }
});

promise.then(function( message ) {
  console.log( message );
},
function( err ) {
  console.log( err );
});
Run Code Online (Sandbox Code Playgroud)

但是,当我在Node.js中尝试相同的代码时,我得到:

var promise = new Promise(function(resolve, reject) {
                   ^
ReferenceError: Promise is not defined
Run Code Online (Sandbox Code Playgroud)

这段代码来自优秀的教程:

http://www.html5rocks.com/en/tutorials/es6/promises/

javascript node.js promise

75
推荐指数
5
解决办法
6万
查看次数

标签 统计

node.js ×2

autoprefixer ×1

gulp ×1

javascript ×1

npm ×1

promise ×1