2016-08-29 35 views
0

我正在尋找構建多項目應用程序的好方法。grunt build nodejs - 多個項目

目前,我有這樣的結構: 每一個應用程序是此刻的NodeJS應用

- parent folder (git root) 
|- app1 
|-- app1-backend 
|-- app1-frontend 
|- app2 
|- app3 

我需要手動執行下列步驟來安裝每一個應用程序:

  1. 安裝NPM模塊與npm install
  2. 安裝類型與typings install
  3. 與編譯應用程序

每一個應用程序文件夾中包含以下內容:(APP1-後端,APP1-前端,APP2,APP3)

tsconfig.json, package.json, typings.json 

我應該自動與咕嚕? 我應該爲每個項目使用一個自己的grunt文件嗎?

迎接

回答

0

因爲它已經3自包含的命令,你可能只在處理所有它的建設命令每一個項目,即在的package.json添加腳本獲得通過:

{ 
    "name": "project-name", 
    ... 
    "scripts": { 
    "build": "npm install && typings install && tsc" 
    } 
} 

這將允許你只運行npm run build來運行任何給定項目的所有3個命令。

然後,你可以運行 (cd /path/to/project1 && npm run build) & (cd /path/to/project2 && npm run build) & (cd /path/to/project3 && npm run build)

這將同時修建的所有3。

注:我假設故宮將處理多個進程,但您可能必須按順序運行

它可以使用咕嚕運行任何外殼如使用grunt-shell命令;但對我個人而言,在一個項目中建立一個構建過程並不合理,這將導致另一個項目的構建。

+0

sry我忘了提及我在app1-frontend項目中使用browserify。我可以觸發嗎?我在tsc後直接運行browserify –

+0

你應該在你爲該項目添加到你的package.json的腳本中添加另一個「&& [command]」。您正在做的核心是爲每個項目運行一組命令作爲單個命令,然後運行一組這些命令。只要這些命令是最終執行的命令,就可以根據需要將許多命令鏈接在一起。也就是說,只要其中一個命令不是說..一個等待文件更改的監視命令,你應該沒問題 –