使用gulp脚本移动html文件

使用gulp脚本移动html文件,gulp,build-automation,Gulp,Build Automation,我已经吞下了v3.9.1。对于这样的目录结构(“app”是父目录),我想将所有“app/***.html”文件移动到一个公共的“dist/html”文件夹中 var gulp = require('gulp'); var minifyHTML = require('gulp-minify-html'); var changed = require('gulp-changed'); gulp.task('compileHTML', function(){

我已经吞下了v3.9.1。对于这样的目录结构(“app”是父目录),我想将所有“app/***.html”文件移动到一个公共的“dist/html”文件夹中

    var gulp = require('gulp');
    var minifyHTML = require('gulp-minify-html');
    var changed = require('gulp-changed');
    gulp.task('compileHTML', function(){
        return gulp.src('app/**/*.{htm,html}')
          .pipe(changed('app/**/*.{htm,html}'))
          .pipe(minifyHTML())
          .pipe(gulp.dest('dist/html/'));
    });
我不想保留目录结构(比如应用程序内部的目录结构)。我只需要将所有html(显然来自不同的目录)放在一个地方,即直接“dist/html”。 跑步时

    gulp compileHTML
在控制台上,我看到html文件与目录一起复制。
请提供更正建议。

您可以使用
gulp rename
将所有html放在一个文件夹中:

var gulp = require('gulp');
var minifyHTML = require('gulp-minify-html');
var changed = require('gulp-changed');
var rename = require('gulp-rename');

gulp.task('compileHTML', () => {
    return gulp.src('app/**/*.{htm,html}')
        .pipe(changed('app/**/*.{htm,html}'))
        .pipe(minifyHTML())
        .pipe(rename({dirname: ''}))
        .pipe(gulp.dest('dist/html/'));
});

我之前试过使用文章中的“展平”和“全局”复制。前者的问题是,在我的例子中,目录的层次结构并不统一,所以我在我的“dist/html”中又得到了“folders”“glob”似乎正在做这项工作,但它跳过了一些文件,没有回显任何错误。