如何修复未处理的'错误'事件。使用Gulp时“@”的@import声明是否破坏?

时间:2015-04-24 14:58:47

标签: node.js gulp

我一直在愉快地使用gulp.js编译,但今天下午我开始收到此错误:

events.js:72
        throw er; // Unhandled 'error' event
              ^
Error: Broken @import declaration of "A"

我的gulpfile.js看起来像这样:

var gulp = require('gulp'),
    minifyCSS = require('gulp-minify-css'),
    sass = require('gulp-ruby-sass'),
    imagemin = require('gulp-imagemin')
    minifyHTML = require('gulp-minify-html'),
    uglify = require('gulp-uglify'),
    fileinclude = require('gulp-file-include');

gulp.task('sass', function() {
    return sass('node_modules/foundation/scss/') 
    .on('error', function (err) {
      console.error('Error!', err.message);
   })
    .pipe(gulp.dest('publish/css'));
});

gulp.task('image', function(){
    gulp.src('images/*')
    .pipe(imagemin())
    .pipe(gulp.dest('publish/images'));
});

gulp.task('fileinclude', function() {
  gulp.src(['index.html'])
    .pipe(fileinclude({
      prefix: '@@',
      basepath: '@file'
    }))
    .pipe(gulp.dest('./html/'));
});

gulp.task('minify-css', function() {
  gulp.src('publish/css/*.css')
    .pipe(minifyCSS({keepBreaks:false}))
    .pipe(gulp.dest('publish/css'));
});

gulp.task('compress', function() {
  return gulp.src(['./node_modules/foundation/js/foundation/*.js','./node_modules/foundation/js/vendor/*.js'])
    .pipe(uglify())
    .pipe(gulp.dest('publish/js'));
});

gulp.task('minify-html', function() {
  var opts = {
    conditionals: true,
    spare:true
  };

  return gulp.src('./html/*.html')
    .pipe(minifyHTML(opts))
    .pipe(gulp.dest('./publish/'));
});


gulp.task('watch', function(){
    gulp.watch('node_modules/foundation/scss/', ['sass']);
    gulp.watch('publish/css/*', ['minify-css']);
    gulp.watch('publish/images/*', ['image']);
});

gulp.task('alpha', [ 'sass','fileinclude','minify-css','image','compress' ]);

gulp.task('omega', ['minify-html']);

gulp.task('build', ['alpha', 'omega']);

gulp.task('default', ['build']);

我已经重新启动,尝试检查端口是否存在冲突,然后详尽地搜索。

任何人都可以看到一个可能导致此问题的明显问题吗?

编辑:我应该补充一下,我正在使用Foundation框架。

1 个答案:

答案 0 :(得分:16)

gulp-minify-css包是我的罪魁祸首。我将此参数添加到我的gulfile.js文件中并修复了它。

processImport: false

例如:

.pipe(plugins.minifyCss({ keepSpecialComments: 1, processImport: false }))