如何估算参加门户网站建设与平面设计培训的费用?
摘要:门户网站建设滞后,平面设计培训班大概多少钱,网站店铺分布图怎么做,南宁seo网络推广公司在开发项目的过程中,我们需要在一个仓库中管理多个项目,每个项目有独立的依赖、脚手架&
门户网站建设滞后,平面设计培训班大概多少钱,网站店铺分布图怎么做,南宁seo网络推广公司在开发项目的过程中#xff0c;我们需要在一个仓库中管理多个项目#xff0c;每个项目有独立的依赖、脚手架#xff0c;这种形式的项目结构我们称之为Monorepo#xff0c;pnpm workspace就是管理这类项目的方案之一。
一、pnpm简介
1、pnpm概述
pnpm代表performance npm…在开发项目的过程中我们需要在一个仓库中管理多个项目每个项目有独立的依赖、脚手架这种形式的项目结构我们称之为Monorepopnpm workspace就是管理这类项目的方案之一。
一、pnpm简介
1、pnpm概述
pnpm代表performance npm高性能的npmn同npm和yarn都属于javascript包管理安装工具它较npm和yarn在性能上得到很大提升被称为 快速地节省磁盘空间的包管理工具。
2、pnpm优点 快速pnpm会将包缓存到本地减少二次安装需要的时间。 节省磁盘空间他会把包软链到项目本地不需要反复安装。 节省网络带宽同样的道理 更好的依赖处理逻辑
3、对比lernayarn
使用lernayarn组合也可以实现Monorepo项目管理。但是相比来说更推荐pnpm workspace来管理。
原因如下
当使用npm和yarn时如果你有100个项目使用了某个依赖就会有100份该依赖的副本保存在硬盘上而在使用pnpm时依赖会被存储在内容可寻址的存储中。 如果你用到了某依赖项的不同版本只会将不同版本间有差异的文件添加到仓库。 例如如果某个包有100个文件而它的新版本只改变了其中1个文件。那么 pnpm update 时只会向存储中心额外添加1个新文件而不会因为仅仅一个文件的改变复制整新版本包的内容。 所有文件都会存储在硬盘上的某一位置。 当软件包被安装时包里的文件会硬链接到这一位置上对应的文件而不会占用额外的磁盘空间。 这允许你跨项目地共享同一版本的依赖。
4、安装pnpm
如果已经安装了npm直接使用npm i -g pnpm进行全局安装。
二、构建一个Monorepo项目
先上最终的项目结构
Monorepo
- umi-antd
- web
-- common1
-- common2如上图我们最终要创建如上图的一个项目结构其中umi-antd是主项目web文件夹下的都是子项目供umi-antd调用。
1、创建主项目
主项目这里是使用的umi项目这里也可以构建基于其他打包工具的各类项目只要是遵守package.json配置条例的项目都是可以的。
构建umi项目
pnpm dlx create-umilatest这里选择创建Ant Design Pro项目。
$ npx create-umilatest
? Pick Umi App Template › - Use arrow-keys. Return to submit.Simple App
❯ Ant Design ProVue Simple App2、创建子项目common1 进入Monorepoweb目录创建common1文件夹 然后进入common1目录执行命令npm init对项目进行初始化这时候会生产一个package.json文件 新建index.ts文件代码如下 export default function print(msg:string) {console.log(msg);
}3、创建子项目common2
步骤和创建common1一致
4、主项目中引入子项目
安装common1和common2。
pnpm -F umi-antd add common1
pnpm -F umi-antd add common2安装完成后在umi-antd依赖中出现两个子项目的软链接或者叫符号链接。
