如何为多个nodejs项目重用gulp任务

我正在尝试在两个不同的项目中重复使用我的gulp任务。 我把我的gulp任务提取到父目录中,并试图要求他们进来。这是我的目录结构。

 parent/ gulp-tasks/ default.js project1/ node_modules/ gulpfile.js js/ project2/ node_modules/ gulpfile.js js/ 

这就是我在每个项目的gulpfile.js中所有的东西

 var requireDir = require('require-dir'); requireDir('../gulptasks'); 

这是我的default.js看起来像:

 var gulp = require('gulp'); gulp.task('default', function() { //run code here }) 

当我尝试运行gulp default ,我得到的是没有定义gulp 。 我知道父目录中没有node_modules ,但是有什么办法可以指向每个node_modules中的node_modules ? 我不是特别想要一个关于吞咽的答案,但如何构build我的项目,使我的代码可重用?

  1. 为什么你需要这样的结构? 你可以把它们分解成回购? 这样你可以把它们安装为依赖关系。
  2. 你可以在parent根目录下有package.json。 然后你将有权访问共享的node_modules文件夹。