配置open-rmf与rmf-web时,pnpm --filter {.}^...表达式含义咨询
关于pnpm脚本中
--filter {.}^...的含义 在安装配置open-rmf和rmf-web时,我在package.json里发现了这样的脚本定义:
"scripts": { ... "start": "concurrently npm:start:rmf-server npm:start:react", "start:rmf-server": "RMF_SERVER_USE_SIM_TIME=true npm --prefix ../api-server start", "start:react": "pnpm run --filter {.}^... build && react-scripts start", ... }想请教其中的
--filter {.}^...表达式具体是什么意思?
这个表达式是pnpm的工作区过滤参数,用来精准指定执行命令的包范围,拆解来看:
{.}:代表当前执行脚本所在的包(也就是rmf-web这个包本身)^...:是pnpm的依赖选择器,指的是当前包的所有上游依赖(包含直接依赖和间接依赖)
合起来--filter {.}^...的作用就是:针对当前包,以及所有被当前包依赖的上游包(依赖树里位于当前包之上的所有包)执行build命令。
在rmf-web的monorepo场景里,这个命令的实际意义是:启动React服务前,自动构建所有rmf-web依赖的上游包,确保React服务启动时,所有依赖的包都是最新构建完成的状态,避免因依赖未更新导致的运行错误。
内容的提问来源于stack exchange,提问作者ミスターノーマル
相关产品推荐
相关产品推荐

