A workspace must have a pnpm-workspace.yaml file in its root. A workspace also may have an .npmrc in its root. 如文档描述,启用 pnpm 的 workspace 需要在项目根目录创建 pnpm-workspace.yaml 3.1项目结构 my-monorepo ├── docs ├── apps │ └── web ├── packages │ ├── ui │ ...
幸运的是,pnpm 支持 workspace 协议workspace:。 当使用此协议时,pnpm 将拒绝解析除本地 workspace 包含的 package 之外的任何内容。 因此,如果您设置为"foo": "workspace:2.0.0"时,安装将会失败,因为"foo@2.0.0"不存在于此 workspace 中。 当link-workspace-packages 选项被设置为 false 时,这个协议将特别有用...
1. 创建 `pnpm-workspace.yaml ` 文件:这是启用 pnpm 工作区(workspace)所必需的。该文件应该位于项目的根目录,并且定义了工作区中包含的包的路径。例如: packages: - 'packages/*' - 'apps/*' 这表示工作区包含 packages 和 apps 目录下的所有子目录作为单独的包 。 2. 安装依赖:使用 pnpm install 在根...
pnpm内置了对单一存储库(也称为多包存储库、多项目存储库或单体存储库)的支持, 你可以创建一个 workspace 以将多个项目合并到一个仓库中。 一个workspace 的根目录下必须有pnpm-workspace.yaml文件, 也可能会有.npmrc文件。 工作空间(Workspace) | pnpm https://www.pnpm.cn/pnpm-workspace_yaml 二、pnpm-works...
在设置依赖版本的时候推荐用workspace:*,这样就可以保持依赖的版本是工作空间里最新版本,不需要每次手动更新依赖版本。 当pnpm publish的时候,会自动将package.json中的workspace修正为对应的版本号。 只允许pnpm 当在项目中使用pnpm时,如果不希望用户使用yarn或者npm安装依赖,可以将下面的这个preinstall脚本添加到工程根目...
pnpm 的 workspace 实现 monorepo 工程 前言 前端多个包管理的的方式一般都是采用monorepo的方式去管理,之前都是使用的lerna的workspace去管理。这段时间包管理切换到了pnpm上,它也有worksapce,可以支持monorepo。 monorepo 有的小伙伴可能对monorepo不太了解,我们简单说下:...
比如: 执行命令ni安装依赖包,如果当前项目包含pnpm-lock.yaml,那么会使用pnpm install执行安装命令,否则判断是否包含package-lock.json/yarn.lock/bun.lockb,来确定使用哪个包管理工具去执行安装命令。 pnpm workspace实践 1. 新建仓库并初始化 新建目录pnpm-workspace-demo,执行npm init / pnpm init初始化项目,生成pa...
对于monorepo项目使用它会更加方便,当然单包也可以使用。主要区别在于项目下有没有pnpm-workspace.yaml,如果未指定多包,那么会当作普通包进行处理。那么,我们来看一下具体的步骤:1. 安装 sql复制代码pnpm add @changesets/cli -Dw 2. 初始化changeset配置 csharp复制代码npx changeset init 这个命令会在根目录下...
类型是在后端代名仓定义,前端想要使用,就要像安装依赖一样,先把后端代名仓引用过来。 pnpm workspace 提供了项目间引用的方式,在前端项目的 package.json 里增加依赖: "dependencies":{"server":"workspace:*",}, 到根目录下,重新更新依赖。前端项目就可以引用了。