Build 使用Grunt.js将所有HTML文件从一个目录结构复制到另一个目录结构

Build 使用Grunt.js将所有HTML文件从一个目录结构复制到另一个目录结构,build,gruntjs,grunt-contrib-copy,Build,Gruntjs,Grunt Contrib Copy,我有一个很大的目录结构,这是大多数应用程序的典型特征 例如,像这样: theprojectroot |- src | |- app | | |- index.html | | |- index.js | | |- userhome | | | |- userhome.html | | | |- userhome.js | | |- management | |

我有一个很大的目录结构,这是大多数应用程序的典型特征

例如,像这样:

theprojectroot
|- src
|     |- app
|     |     |- index.html
|     |     |- index.js
|     |     |- userhome
|     |     |     |- userhome.html
|     |     |     |- userhome.js
|     |     |- management
|     |     |     |- management.html
|     |     |     |- management.js
|     |     |- social
|     |     |     |- social.html
|     |     |     |- social.js
|     |- assets
|- vendor
|- package.json
我想将所有目录中的所有
HTML
文件和HTML文件复制到另一个文件夹中

我目前正在使用Grunt
copy
复制所有文件,但现在我只想为HTML这样做,似乎没有任何选择文件类型的选项


是否有人建议使用黑客软件?

此答案中的“扁平化:真实”选项可能适用于某些情况,但在我看来,更常见的要求(如我的情况)是复制文件夹及其子文件夹结构,即dest。似乎在大多数情况下,如果您有子文件夹,它们可能在代码中以这种方式被引用。执行此操作的关键是cwd选项,该选项将保留相对于指定工作目录的文件夹结构:

copy: {
  files: {
    cwd: 'path/to/files',  // set working folder / root to copy
    src: '**/*.html',      // copy only html files
    dest: 'dist/files',    // destination folder
    expand: true           // required when using cwd
  }
}

下面的代码将起作用

copy: {
    files: {
        cwd: 'path/to/files',  // set working folder / root to copy
        src: '**/*.html',      // copy all files and subfolders **with ending .html**
        dest: 'dist/files',    // destination folder
        expand: true           // required when using cwd
      }
    }

我想你错过了我的要求。我只想复制
html
文件,而不复制目录中的其他文件。也许我应该在一些提示之后更新这个问题,我发现
src:'**/**.html'
符合我的要求。我只是不明白为什么。所以如果有人能解释,我会接受他们的回答