使用 gulp 复制文件树

问题描述 投票:0回答:1

无法使用 gulp 将源文件夹树移动到另一个位置。

经过多年手动将源代码转换为生产环境后,我终于决定改用 gulp。作为初学者,我以为我会做一些简单的事情 - 将我的源代码树移动到另一个位置,但失败了:(

源代码树如下所示(省略实际文件):

src
    css
    lib
        components
    services
    views
        auth
    call
        home
           home-page.js
           SectionCard.js
        journal
           journal-update.js
    portal.html
    routes.js

经过一番研究,我想出了这个 gulp 文件:

var gulp = require('gulp')

function defaultTask(cb) {
    console.log("Moving all folders/files in src folder");
    gulp.src(["src/**.*"])
      .pipe(gulp.dest('../server/public'));
    cb();
  }
  
  exports.default = defaultTask
$ gulp
[13:18:03] Using gulpfile F:\backup\Z\portal\gulpfile.js
[13:18:03] Starting 'default'...
Moving all files in site folder
[13:18:03] Finished 'default' after 5.09 ms

当我运行此命令时,它仅移动 src 文件夹中的 2 个文件(portal.html、routes.js)。

我搜索了其他答案(如“文章”),这似乎表明应该这样做。我对此感到有点沮丧,因为我认为这将是一个足够简单的任务来开始:(

gulp
1个回答
0
投票

您的 Gulp 任务似乎没有正确捕获目录结构。让我们调整您的 Gulp 任务以包含 src 文件夹中的所有文件和目录:

var gulp = require('gulp');

function moveSource(cb) {
    console.log("Moving all folders/files in src folder");
    gulp.src(["src/**/*"]) // This will include all files and subdirectories within src
      .pipe(gulp.dest('../server/public'));
    cb();
}

exports.default = moveSource;

通过此调整,src/**/* 模式将匹配 src 文件夹中的所有文件和子目录。因此,它应该将整个目录树移动到指定的目的地。

尝试一下,看看是否可以解决您的问题。如果您遇到任何进一步的问题或有任何疑问,请随时询问!

© www.soinside.com 2019 - 2024. All rights reserved.