赞
踩
pnpm 内置了对单一存储库(也称为多包存储库、多项目存储库或单体存储库)的支持, 你可以创建一个 workspace 以将多个项目合并到一个仓库中。
一个 workspace 的根目录下必须有 pnpm-workspace.yaml 文件, 也可能会有 .npmrc 文件。
https://www.pnpm.cn/pnpm-workspace_yaml
monorepo-pnpm-workspace-base
pnpm init
去掉后
- packages:
- # all packages in direct subdirs of packages/
- - 'packages/*'
- # all packages in subdirs of components/
- - 'common/**'
- # exclude packages that are inside test directories
- - '!**/test/**'
cd packages
pnpm create vite app-base --template vue-ts
pnpm create vite app1 --template vue-ts
pnpm i
- server: {
- port: 5173
- }
pnpm run dev-base
启动成功,同理启动 app1、app2
- <template>
- <div>snow components index</div>
- </template>
-
- <script setup lang="ts">
- </script>
-
- <style scoped>
- </style>
export * from "./snow"
- {
- "name": "@common/components",
- "version": "1.0.0",
- "description": "pnpm-workspace-common-components",
- "pricate": true,
- "keywords": [],
- "author": "",
- "license": "MIT",
- "main": "index.ts"
- }
下边命令式packages下所有项目都安装,也可以指定项目安装见3.8
pnpm i @common/components -w
package.json 增加内容如下
pnpm i @common/components --filter app-base
安装后package.json增加依赖,子项目node_modules增加依赖,同样运行成功。
有本人“三”看出,组件部分式放在了node_modules下,由package.json管理,和普通的项目其实是一样了,部署思路同普通项目。
CentOS部署vue项目_snow@li的博客-CSDN博客
Docker部署前端项目(nuxt)_nuxt docker_snow@li的博客-CSDN博客
git modules也可以实现使用公共代码/组件的效果
git:git modules_gitmodules_snow@li的博客-CSDN博客
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。