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

jha*_*amm 5 node.js node-modules gulp

我试图gulp在两个不同的项目中重用我的任务.我将我的gulp任务提取到父目录中,并尝试要求它们.这是我的目录结构.

parent/
    gulp-tasks/
      default.js
    project1/
        node_modules/
        gulpfile.js
        js/
    project2/
        node_modules/
        gulpfile.js
        js/
Run Code Online (Sandbox Code Playgroud)

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

var requireDir = require('require-dir');
requireDir('../gulptasks');
Run Code Online (Sandbox Code Playgroud)

这是我的default.js样子:

var gulp = require('gulp');

gulp.task('default', function() {
    //run code here
})
Run Code Online (Sandbox Code Playgroud)

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

lwa*_*135 0

  1. 为什么需要这样的结构?你能把它们分解成回购吗?这样您就可以将它们作为依赖项安装。
  2. 您可以将 package.json 放在parent根目录中。然后您就可以访问共享node_modules文件夹。