2015-09-03 5 views
7

Sto seguendo this tutorial su come iniziare con gulp e browserify (tra gli altri plugin).Errore: L'attività x non supporta le dipendenze che non sono un array di stringhe

La struttura nel modo seguente:

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

Tuttavia, durante l'esecuzione di $ gulp produce il seguente errore:

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) 

io non riesco a trovare qual è il problema qui, io sono m emettendo alcuni argomenti o? Il codice non è molto diverso dall'esempio del tutorial.

+0

Dal sorso '3.9', questo errore può si verificano anche quando dichiari un compito in stile ES6 nella funzione freccia e non hai rinominato il tuo ".gulpfile" chiamato ".gulpfile.babel.js" per il transpiling – Dr1Ku

+0

Questo può verificarsi anche quando ti stai dimenticando di avvolgere il tuo compito estratto in un'altra chiusura ('funzione') – Dr1Ku

risposta

4

Nel file index.js all'interno del ciclo forEach ogni compito gulp deve avere una funzione di callback, quindi avrai bisogno di esportare con uno dei vostri compiti in questo modo:

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

Sì, questo lo risolve. Grazie –

Problemi correlati