如何配置根目录package.json脚本,实现多目录npm install并行或串行执行
实现根目录与Backend目录的npm install批量执行
你的项目结构是根目录和backend子目录各有一个package.json,要通过根目录的npm脚本批量执行两个目录的npm install,可以分先后执行和并行执行两种场景来配置:
1. 先后执行(先根目录,再Backend)
直接用&&连接两个命令,前面的命令执行成功后才会运行后面的:
"scripts": { "dep": "npm install && npm install --prefix backend" }
npm install:默认在当前目录(根目录)安装依赖--prefix backend:指定在backend目录下执行npm install
2. 并行执行(两个目录同时安装)
如果想让两个安装任务同时跑,推荐用concurrently包(跨平台兼容Windows、macOS、Linux):
步骤1:安装concurrently
先在根目录本地安装(避免全局依赖):
npm install concurrently --save-dev
步骤2:配置脚本
"scripts": { "dep": "concurrently \"npm install\" \"npm install --prefix backend\"" }
如果是类Unix系统(macOS/Linux),也可以直接用shell的后台运行符号&,但Windows CMD不支持这种写法:
"scripts": { "dep": "npm install & npm install --prefix backend" }
你原来的脚本问题
你写的"dep": "npm i \"npm install --prefix backend\""是错误的,这会把"npm install --prefix backend"当成npm i的参数,而不是执行第二个npm install命令,所以根本不会触发backend目录的安装。
内容的提问来源于stack exchange,提问作者Patricio
相关产品推荐
相关产品推荐

