【pnpm、npm】各种命令详解

一、pnpm -F mock-server start

js 复制代码
// 跟目录下执行如下命令 
pnpm -F mock-server start

pnpm -F mock-server start 里的 -F--filter 的简写,意思是:只在名为 mock-server 的工作区(package)中执行命令


🔍 分解一下这条命令:

r 复制代码
pnpm -F mock-server start

相当于:

css 复制代码
pnpm --filter mock-server start

🧠 它的作用是:

在 monorepo 项目中,你可能有多个包(比如 frontend、backend、mock-server 等)。pnpm --filter 允许你只对某个特定的包执行命令。

📌 举例:

假设你有这样的 pnpm workspace

vbscript 复制代码
root/
├── packages/
│   ├── frontend/
│   ├── backend/
│   └── mock-server/

如果你在根目录运行:

r 复制代码
pnpm -F mock-server start

PNPM 会跳过 frontend、backend,只进入 mock-server/ 目录,执行这个包的 start 命令(定义在它自己的 package.json 中的 "scripts" 部分)。


🧩 其他常见的 --filter 用法:

命令 作用
pnpm -F frontend install 只在 frontend 包中安装依赖
pnpm -F "mock-*" build 对所有以 mock- 开头的包执行 build
pnpm -F ./packages/backend test 使用路径过滤执行 backend 的 test

✅ 总结:

-F --filter 的简写
作用 指定只对某个工作区包执行命令
使用场景 Monorepo 多包管理下的精准操作

如果你不在用 monorepo,而这个命令出现在你项目里,那就可能是你项目结构中引入了多个 package(例如使用了 pnpm-workspace.yaml)。

相关推荐
贩卖纯净水.2 小时前
webpack的安装及其后序部分
前端·webpack·node.js
又双叒叕7781 天前
如何发布npm包?
前端·npm·node.js
FreeBuf_1 天前
恶意npm与VS Code包窃取数据及加密货币资产
前端·npm·node.js
hdsoft_huge1 天前
VUE npm ERR! code ERESOLVE, npm ERR! ERESOLVE could not resolve, 错误有效解决
vue.js·rust·npm
天天打码1 天前
npm/yarn/pnpm安装时Sharp模块报错解决方法
前端·npm·node.js
好奇的菜鸟2 天前
如何使用 WebStorm 编写第一个 Node.js 项目
ide·node.js·webstorm
Bullet3432 天前
包管理工具npm与pnpm
前端·笔记·学习·npm·node.js
巴巴_羊2 天前
webpack CDN打包优化
前端·webpack·node.js
eggcode2 天前
npm run build后将打包文件夹生成zip压缩包
前端·npm·node.js
catoop2 天前
私服 nexus 之间迁移 npm 仓库
npm