在我的项目中,我有一个目录结构,在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会将文件复制到正确的位置。