Gulp没有将文件输出到构建文件夹中的正确文件夹

Gulp is not outputing files to correct folders in build folder

本文关键字:文件夹 构建 文件 输出 Gulp      更新时间:2023-09-26

在我的项目中,我有一个目录结构,在src文件夹中看起来像这样:

|-/css/
|-/templates/
|------------template1.html
|-index.html

我想做的是能够处理根目录下的index.html文件,同时处理模板文件夹中的所有html文件。

我的gulp文件是这样的:

gulp.src(["src/*.html", "src/templates/**/*"])
.pipe(gulp.dest("build/"));

然而,当我运行任务时,模板文件夹中的文件也最终与index.html一起直接写入构建文件夹,在构建文件夹中没有创建模板文件夹:

|-/css/
|-template1.html
|-index.html

当我使用这个作为gulp.src:

的调用时
gulp.src("src/**/*.html")

我确实得到了我想要的,模板文件夹在构建文件夹中创建,但我不确定这是否正确,也许它的性能较差,它将包括src目录下的每一个html文件,而不仅仅是在模板下。

如果我理解正确,问题是当你给gulp时,gulp不知道"基础"文件夹在哪里。

尝试以下操作:

gulp.src(["src/*.html", "src/templates/**/*"], {
             base: 'src'
        }).pipe(gulp.dest("build/"));

这样,gulp知道哪个文件夹是你的基本文件夹,并首先从'src'复制文件夹结构。然后,gulp会将文件复制到正确的位置。