2014-12-05 2 views
5

Я пытаюсь повторно использовать мои задачи gulp в двух разных проектах. Я извлекаю свои задачи gulp в родительский каталог и пытаюсь их потребовать. Вот моя структура каталогов.Как повторно использовать задачи gulp для нескольких проектов nodejs

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 в каждом из дочерних проектов? Я не особенно хочу получить ответ о глотке, но как структурировать мои проекты, чтобы сделать мой код многоразовым?

+0

Вы установили 'gulp' глобально? – Ben

ответ

0
  1. Зачем вам нужно структурировать таким образом? Можете ли вы разбить их на репо? Таким образом вы можете установить каждый из них в качестве зависимостей.
  2. У вас может быть пакет package.json в корне parent. Затем у вас будет доступ к общим папкам node_modules.
+0

Мое основное вещество все еще в движении, и мне кажется, что кошмар имеет процесс сборки, где вам нужно дождаться, когда основной материал будет перенаправлен в реестр, а затем вытащить его для создания дочернего проекта. – jhamm

+0

Вы можете установить git repos напрямую. 'npm install git + ssh: // --save' – lwang135

+0

Вы также можете использовать [npm link] (https://docs.npmjs.com/cli/link). – pgreen2