2015-09-03 2 views
7

Ich folge this tutorial auf wie mit gulp und browserify (neben anderen Plugins) zu starten.Fehler: Task x kann keine Abhängigkeiten unterstützen, die kein Array von Strings ist

Die Struktur wie folgt:

. 
├── gulpfile.js 
└── gulp 
   ├── index.js 
   └── tasks 
    ├── browserify.js 
    └── minifyCss.js 
/* gulpfile.js */ 
var gulp = require('./gulp')([ 
    'minifyCss', 
    'browserify' 
]); 

gulp.task('default', ['minifyCss', 'browserify']); 
/* index.js */ 
var gulp = require('gulp'); 

module.exports = function(tasks) { 
    tasks.forEach(function(name) { 
     gulp.task(name, require('./tasks/' + name)); 
    }); 

    return gulp; 
}; 
/* tasks/minifyCss.js */ 
var gulp  = require('gulp'); 
var minifyCss = require('gulp-minify-css'); 

gulp.task('minifyCss', function() { 
    return gulp.src('css/*.css') 
    .pipe(minifyCss()) 
    .pipe(gulp.dest('dist')); 
}) 

Wenn jedoch $ gulp läuft erzeugt es den folgenden Fehler:

Error: Task minifyCss can't support dependencies that is not an array of strings 
at Gulp.Orchestrator.add (/home/joao/src/joaopw/node_modules/gulp/node_modules/orchestrator/index.js:47:10) 
at /home/joao/src/joaopw/gulp/index.js:5:14 
at Array.forEach (native) 
at module.exports (/home/joao/src/joaopw/gulp/index.js:4:11) 
at Object.<anonymous> (/home/joao/src/joaopw/gulpfile.js:1:91) 
at Module._compile (module.js:456:26) 
at Object.Module._extensions..js (module.js:474:10) 
at Module.load (module.js:356:32) 
at Function.Module._load (module.js:312:12) 
at Module.require (module.js:364:17) 

Ich kann nicht scheinen zu finden Was ist das Problem hier, bin ich m einige Argumente oder? Der Code unterscheidet sich nicht wesentlich vom Beispiel im Tutorial.

+0

Da Schluck '3.9', kann dieser Fehler Sie treten auch auf, wenn Sie eine Schluckaufgabe im ES6-Pfeilfunktionsstil deklarieren und Sie Ihre '.gulpfile' mit dem Namen' .gulpfile.babel.js' nicht zum Umstellen deklariert haben. – Dr1Ku

+0

Dies kann auch auftreten, wenn Sie vergessen, Ihre Datei zu verpacken extrahierte Aufgabe in eine andere Schließung ('Funktion') – Dr1Ku

Antwort

4

In Ihrer index.js Datei in forEach Schleife jeder Schluck Aufgabe, eine Callback-Funktion haben muss, so dass Sie wie so ein von Ihren Aufgaben zu exportieren brauchen werden:

/* tasks/minifyCss.js */ 
var gulp  = require('gulp'); 
var minifyCss = require('gulp-minify-css'); 

module.exports = function() { 
    return gulp.src('css/*.css') 
       .pipe(minifyCss()) 
       .pipe(gulp.dest('dist')); 
}; 
+0

Ja, das löst es. Vielen Dank –