一尘不染

寻找在gulp中复制文件并根据父目录重命名的方法

node.js

对于每个模块,我都有一些文件需要复制到构建目录中,并且正在寻找一种方法来减少重复的代码:

gulp.src('./client/src/modules/signup/index.js')
  .pipe(gulp.dest('./build/public/js/signup'));

gulp.src('./client/src/modules/admin/index.js')
  .pipe(gulp.dest('./build/public/js/admin'));

像这样:

gulp.src('./client/src/modules/(.*)/index.js')
  .pipe(gulp.dest('./build/public/js/$1'));

显然上述方法不起作用,是否有办法做到这一点,或者已经执行了npm?

谢谢


阅读 301

收藏
2020-07-07

共1个答案

一尘不染

最好的方法是base在采购文件时进行配置,如下所示:

gulp.src('./client/src/modules/**/index.js', {base: './client/src/modules'})
  .pipe(gulp.dest('./build/public/js/'));

这告诉gulp使用modules目录作为确定相对路径的起点。

(此外,/**/*.js如果要包含所有JS文件,也可以使用…)

2020-07-07