Gulp不创build文件夹?

当我缩小我的CSS,我留下了不同的图书馆的字体不正确的path。 所以,我创build了一个任务,将字体从我的bower_components/文件夹移到dist/public/fonts

 gulp.task('doit', function() { gulp.src(["public/bower_components/bootstrap/dist/fonts/*", "public/bower_components/font-awesome/fonts/*"]) .pipe(gulp.dest("dist/public/fonts")); }); 

基本上,应该把我需要的任何字体到一个通用的字体文件夹,我的缩小的CSS现在应该能够访问。

但是运行后, dist/public/fonts不存在。 为什么不?

我不完全理解你是src -ing( public/bower_components ?)的path,但我相信你会想使用gulp.srcbase选项 。

因为这两个球会有不同的基础,所以我build议把它分成两个单独的任务,build立第三个球,把它们合并成一个单一的任务。 否则,你需要进入合并stream或addSrc插件。

 gulp.task('copy:fonts:bootstrap', function () { return gulp.src( [ 'public/bower_components/bootstrap/dist/fonts/**/*' ], { base: 'public/bower_components/bootstrap/dist/fonts' } ) .pipe(gulp.dest('dist/public/fonts')); }); gulp.task('copy:fonts:fontawesome', function () { return gulp.src( [ 'public/bower_components/font-awesome/fonts/**/*' ], { base: 'public/bower_components/font-awesome/fonts' } ) .pipe(gulp.dest('dist/public/fonts')); }); gulp.task('copy:fonts', ['copy:fonts:bootstrap', 'copy:fonts:fontawesome']); 

根据这篇文章 ,指定你的src是这样的:

 gulp.src(['src/js/**/*.js'], { base: 'src' }) .pipe(foo()) .pipe(gulp.dest("./public/")); 

它会自动为您创build目标目录。 在这种情况下,如果“js”文件夹不存在,将会公开创build。