Gulp不创建文件夹?

rub*_*lex 9 javascript node.js gulp

当我缩小我的CSS时,我从各种库中找到了不正确的字体路径.所以,我创建了一个任务来将字体从我的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"));
});
Run Code Online (Sandbox Code Playgroud)

基本上应该把我需要的任何字体扔进一个通用的字体文件夹,我的缩小的CSS现在应该可以访问.

但是在我运行之后,dist/public/fonts它就不存在了.为什么不?

JAA*_*lde 5

我不完全理解你正在做的路径src(public/bower_components?),但我相信你会想要使用这个base选项gulp.src.

因为这两个globs将有不同的基础,我建议将它分成两个单独的任务,并建立第三个将它们聚合成一个单独的任务.否则你需要进入合并流或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']);
Run Code Online (Sandbox Code Playgroud)