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

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已经做到了这一点?

谢谢

推荐答案

最好的方法是在查找文件时配置base,如下所示:

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

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

(另外,如果你想包含所有JS文件,可以使用/**/*.js…)

Node.js相关问答推荐

无法从Nextjs项目读取环境变量

NPM:无法导入本码模块

设置默认 node 版本

Express无法发布

如何使用Nextjs路由从下一步/导航在新选项卡中通过";router.ush";打开链接

我的Node.js应用程序没有将Mongoose方法findByIdAndDelete作为函数进行检测

即使卷已设置,Docker Nodemon 也不会热重载

安装样式组件时出现react 错误

firebase/messaging 不提供名为 getToken 的导出

使用react 组件加载特定 DIV 而无需重新加载整个页面

在 Express.js 中迭代子文档数组

aws cdk 2.0 init 应用程序无法构建更漂亮的问题,这来自 jest-snapshot

Node JS:自动 Select `http.get`与`https.get`

在 ExpressJS 中将变量传递给 JavaScript

我可以向NPM添加调试脚本吗?

我应该在(Docker)容器中使用 forever/pm2 吗?

webpack css-loader 在外部样式表的 url() 引用中找不到图像

NPM:为什么要安装这个包?

我应该如何在 webpack 中使用时刻时区?

Puppeteer 等待所有图像加载然后截图