{ "name": "workSpace", "version": "0.1.1", "private": true, "scripts": { "initWrokspace": "node ./scripts/init-workspace", },
const {exec} = require('child_process'); exec(`mkdir ./packages; cd ./packages; git clone xxx.git; git clone xxx.git`);
npm run initWrokspacejavascript
注意:package.json 中的安裝的依賴版本要與工做空間中相同,不然不走工做空間,直接使用node_modules的依賴包java
官網說明連接node
{ "name": "workSpace", "version": "0.1.1", "private": true, "workspaces": [ "packages/*", "basic-packages/*" ], "scripts": { "start": "PLATFORM=workspace PORT=3043 node scripts/start.js", "build": "rm -Rf ./build; node scripts/build.js", "init:workspace": "sh ./shell/init-workspace.sh", "init": "npm run init:workspace;", "pullWorkspace": "sh ./shell/pull-workspace.sh", },
npm 腳本:npm容許在package.json文件裏面,使用scripts 字段定義腳本命令。git
{ // ... "scripts": { "build": "node build.js" } }
script 字段的每個屬性,對應一段腳本, build命令對應的腳本是 node build.js 使用npm run 能夠執行這段腳本。github
npm run build 等同於 node build.jsshell
rm -rf ./packages mkdir ./packages cd ./packages git clone https://github.comxxx.git git clone https://github.comxxx.git git clone https://github.comxxx.git
rm -rf ./packagesnpm
項目json |
描述ui |
-espa |
在每個文件被刪除後顯示消息。 |
-f |
在除去有寫保護的文件前不提示。若是指定的文件不存在,不顯示錯誤消息或返回錯誤狀態。若是 -f 和 -i 標誌都被指定,最後指定的標誌起做用。 |
-i |
刪除每一個文件前提示。但一塊兒使用 -i 和 -r 標誌時,rm 命令在刪除目錄前也提示。若是 -i 和 -f 標誌都被指定,最後指定的標誌起做用。 |
項目 |
描述 |
-r |
當 File 參數爲目錄時容許循環的刪除目錄及其內容。本標誌等同於 -R 標誌。 |
-R |
當 File 參數爲目錄時容許循環的刪除目錄及其內容。本標誌等同於 -r 標誌。 |
若是在目錄名的前面沒有加任何路徑名,則在當前目錄下建立由dirname指定的目錄;若是給出了一個已經存在的路徑,將會在該目錄下建立一個指定的目錄。在建立目錄時,應保證新建的目錄與它所在目錄下的文件沒有重名。
cd ./packages cd ./依賴包名稱 git pull origin master cd .. cd ./依賴包名稱 git pull origin master cd .. cd ./m依賴包名稱 git pull origin master cd ..
cd 進入用戶主目錄; cd ~ 進入用戶主目錄; cd - 返回進入此目錄以前所在的目錄; cd .. 返回上級目錄(若當前目錄爲「/「,則執行完後還在「/";".."爲上級目錄的意思); cd ../.. 返回上兩級目錄; cd !$ 把上個命令的參數做爲cd參數使用。
運行
npm run init 初始化
npm run pullWorkspace 更新包