{ "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 更新包