当前位置: 首页 > 面试题库 >

使用gulp选择和移动目录及其文件

卫骏
2023-03-14
问题内容

我当前正在使用gulp调用bash脚本,该脚本将清理dist/目录并将适当的文件移至清理目录。我想用gulp完成此操作,因为我不确定该脚本是否可以在非*
nix文件系统上运行。
到目前为止,我正在使用gulp-clean模块来清理dist/目录,但是当我尝试将所需的目录及其文件移动到dist文件夹时,目录为空。

var gulp = require('gulp'),
    clean = require('gulp-clean');

gulp.task('clean', function(){
  return gulp.src(['dist/*'], {read:false})
  .pipe(clean());
});

gulp.task('move',['clean'], function(){
  gulp.src(['_locales', 'icons', 'src/page_action', 'manifest.json'])
  .pipe(gulp.dest('dist'));
});

gulp.task('dist', ['move']);

调用gulp dist结果是在dist/目录中填充了正确的目录,但是它们都为空

$ ls dist/*
dist/manifest.json

dist/_locales:

dist/icons:

dist/page_action:

如何将目录及其内容复制到dist/文件夹?


问题答案:

您需要包括src
base选项,该选项将以所需的方式保留文件结构:

var filesToMove = [
        './_locales/**/*.*',
        './icons/**/*.*',
        './src/page_action/**/*.*',
        './manifest.json'
    ];

gulp.task('move',['clean'], function(){
  // the base option sets the relative root for the set of files,
  // preserving the folder structure
  gulp.src(filesToMove, { base: './' })
  .pipe(gulp.dest('dist'));
});

另外,如果将所有这些源文件都放在项目的根目录中,则可能会遇到麻烦。

如果 可以的话,建议您使用一个src/文件夹,并将 所有
特定于应用程序的文件移动到该文件夹中。这使维护工作更容易进行,并防止特定于构建的文件与特定于应用程序的文件混淆。

如果执行此操作,则只需在上例./中用替换所有出现的src/



 类似资料:
  • Entry和FileEntry均有copyTo和moveTo方法用来复制和移动目录和文件。 Entry.copyTo(newEntry, 'new_Entry_name', function(copiedEntry){ console.log('Entry moved.'); }, errorHandler); Entry.moveTo(newEntry, 'new_Entry_name

  • 我有一个文件夹,其中有一个。dat文件和一个是。zip文件,我必须移动。将文件压缩到另一个目录 我有两个文件夹,一个是 请建议如何实现这一点,我现在所做的是。。。

  • 前面小节介绍了如何创建文件和目录、删除文件和目录,本小节介绍如何使用 mv 命令移动文件和目录。 1. 移动文件或目录至另外一个目录下 可以使用 mv file_name 路径 这种格式,移动文件至其他目录下,后面跟的路径可以是相对路径,也可以是绝对路径,这里的路径操作和 cd 命令类似,下面介绍移动文件命令: ls -l # 列出当前目录下所有文件 mv test.txt /usr/local

  • 问题内容: 使用此代码 返回特定目录中文件夹和文件的总和,而不用关心 子目录 。我想获取目录及其子目录中所有文件的数量。 PS:返回所有文件和文件夹的总和几乎无关紧要。 任何帮助表示赞赏,谢谢 问题答案: 试试这个。 它可能会帮助您。

  • 问题 你想要复制或移动文件和目录,但是又不想调用shell命令。 解决方案 shutil 模块有很多便捷的函数可以复制文件和目录。使用起来非常简单,比如: import shutil # Copy src to dst. (cp src dst) shutil.copy(src, dst) # Copy files, but preserve metadata (cp -p src dst)

  • 问题内容: 我正在尝试建立一个用户可以提交照片的网站,然后在另一个页面上一个一个地随机查看其他照片。我有一个名为“上传”的目录,其中提交了图片。我无法从文件中读取图片。我只想从目录上传中随机选择一张图片,并将其显示在页面上。任何建议表示赞赏。 问题答案: 您可以使用glob获取目录中的所有文件,然后从该数组中获取随机元素。这样的函数将为您完成此任务: