使用 gulp 移动文件夹

Арт*_*нко 1 javascript directory src libs gulp

我有 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/'))
});
Run Code Online (Sandbox Code Playgroud)

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

Roh*_*ner 5

问题:

你用gulp.src()错了。

解释:

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

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

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

因此:

gulp.src(['src/libs/**'], ['src/fonts/**'], ['src/docs/**'])
Run Code Online (Sandbox Code Playgroud)

应该

gulp.src(['src/libs/**','src/fonts/**','src/docs/**'])
Run Code Online (Sandbox Code Playgroud)

或(带有文件通配符*.*

// 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)
Run Code Online (Sandbox Code Playgroud)

更多信息:

文档指定使用这样:

gulp.src(globs[, options])
Run Code Online (Sandbox Code Playgroud)

其中globs只能是:

  • 字符串 => 'im/a/single/directory/or/file/s'
  • (单个)数组对象 => ['dir1','dir2','dir3','etc']

options,...好吧,一个选项对象(具有您可以提供的定义值)

  • 选项 => { buffer: true, read: false, ... }