使用gulp移动文件夹

时间:2018-01-24 15:02:10

标签: javascript gulp directory src libs

我有3个文件夹的项目(我使用gulp),我不需要编译。所以,我需要一个任务,它将3个文件夹"src/fonts""src/libs""src/docs"作为gulp.src(),然后将它们移到dest/文件夹中。我不需要对它们做些什么,只需在建造后移动它们。

我目前的尝试:

gulp.task('others', function () {
   return gulp.src(['src/libs/**'], ['src/fonts/**'], ['src/docs/**'])
      .pipe(gulp.dest('dist/'))
});

使用此代码,任务只移动内部文件和文件夹(需要包装),并且只需要" src / libs"作为gulp.src()

1 个答案:

答案 0 :(得分:3)

<强>问题:

  

您使用的是gulp.src()错误。

说明:

在代码的当前状态中,发生以下情况:

  • ['src/libs/**']传递给globs属性
  • ['src/fonts/**']传递给options属性
  • ['src/docs/**']传递给NOTHING

以上解释了为什么您只看到src/libs被选中的文件。

因此:

gulp.src(['src/libs/**'], ['src/fonts/**'], ['src/docs/**'])

应该是

gulp.src(['src/libs/**','src/fonts/**','src/docs/**'])

或(使用文件通配符*.*

// something like this (its dirty as I'm writing this off the cuff)
// but you get the idea    

var sources = [
     'src/libs/**',
     'src/libs/**/*.*',
    ...
 ];

gulp.src(sources)

更多信息:

docs指定用法:

gulp.src(globs[, options])

其中globs只能是:

  • string =&gt; 'im/a/single/directory/or/file/s'
  • (单个)数组对象=&gt; ['dir1','dir2','dir3','etc']

options,......好吧,options object(您可以提供定义的值)

  • options =&gt; { buffer: true, read: false, ... }