如何使用 Gulp 复制多个文件并保持文件夹结构

How to copy multiple files and keep the folder structure with Gulp(如何使用 Gulp 复制多个文件并保持文件夹结构)
本文介绍了如何使用 Gulp 复制多个文件并保持文件夹结构的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我正在尝试使用 Gulp 将文件从一个文件夹复制到另一个文件夹:

I am trying to copy files from one folder to another folder using Gulp:

gulp.task('move-css',function(){
  return gulp.src([
    './source/css/one.css',
    './source/other/css/two.css'

    ]).pipe(gulp.dest('./public/assets/css/'));
});

以上代码是复制one.css &two.csspublic/assets/css 文件夹.

The above code is copying one.css & two.css to the public/assets/css folder.

如果我使用 gulp.src('./source/css/*.css') 它会将所有 CSS 文件复制到 public/assets/css这不是我想要的文件夹.

And if I use gulp.src('./source/css/*.css') it will copy all CSS files to the public/assets/css folder which is not what I want.

如何选择多个文件并保持文件夹结构?

How do I select multiple files and keep the folder structure?

推荐答案

为此请指定base.

base - 指定相对于 cwd 的文件夹.默认是 glob 开始的地方.这用于在 .dest()

base - Specify the folder relative to the cwd. Default is where the glob begins. This is used to determine the file names when saving in .dest()

<小时>

在你的情况下是:


In your case it would be:

gulp.task('move-css',function(){
  return gulp.src([
      './source/css/one.css',
      './source/other/css/two.css'
  ],  {base: './source/'}) 
  .pipe(gulp.dest('./public/assets/'));
});

文件夹结构:

.
├── gulpfile.js
├── source
│   ├── css
│   └── other
│       └── css
└── public
    └── assets

这篇关于如何使用 Gulp 复制多个文件并保持文件夹结构的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How do I can get a text of all the cells of the table using testcafe(如何使用 testcafe 获取表格中所有单元格的文本)
node_modules is not recognized as an internal or external command(node_modules 未被识别为内部或外部命令)
How can I create conditional test cases using Protractor?(如何使用 Protractor 创建条件测试用例?)
PhantomJS and clicking a form button(PhantomJS 并单击表单按钮)
Clicking #39;OK#39; on alert or confirm dialog through jquery/javascript?(在警报上单击“确定或通过 jquery/javascript 确认对话框?)
QunitJS-Tests don#39;t start: PhantomJS timed out, possibly due to a missing QUnit start() call(QunitJS-Tests 不启动:PhantomJS 超时,可能是由于缺少 QUnit start() 调用)