2014-12-05 42 views
5

我想在兩個不同的項目中重用我的gulp任務。我將我的gulp任務提取到父目錄中,並試圖要求他們進入。這是我的目錄結構。如何爲多個nodejs項目重用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?我不是特別想要一個關於吞噬的答案,但是如何構建我的項目以使我的代碼可重用?

+0

您是否在全球安裝'gulp'? – Ben 2014-12-07 15:50:52

回答

0
  1. 爲什麼你需要這種結構?你能把它們分解成回購嗎?這樣你就可以將它們安裝爲依賴關係。
  2. 您可以在parent根目錄下擁有package.json。然後,您將可以訪問共享的node_modules文件夾。
+0

我的核心內容仍然在不斷變化,看起來像是一個噩夢,有一個構建過程,你必須等待覈心內容被推送到註冊表,然後把它拉下來構建子項目。 – jhamm 2014-12-05 20:31:22

+0

你可以直接安裝git repos。 'npm install git + ssh:// --save' – lwang135 2014-12-05 21:04:50

+0

你也可以使用[npm link](https://docs.npmjs.com/cli/link)。 – pgreen2 2014-12-16 21:35:04