pnpm、lerna+yarn如何选择
前端大神之路
共 3282字,需浏览 7分钟
·
2021-04-21 22:29
本文适合对主流的包管理工具有所了解的小伙伴。
欢迎关注前端早茶,与广东靓仔携手共同进阶~
作者:广东靓仔
一、前言
本文基于开源项目:
https://github.com/pnpm/pnpm
https://github.com/lerna/lerna
1.1 什么是lerna?
1.2 pnpm有哪些特点?
速度快 绝多大数场景下,速度会比 npm/yarn 快 2-3 倍 高效利用磁盘空间 内部文件node_modules是从单个可寻址内容的存储链接的 支持 monorepo 用一个 git 仓库来管理多个子项目package 严格 程序包只能访问其中指定的依赖项package.json 确定性 一个名为的锁定文件pnpm-lock.yaml
二、lerna
["packages/*"],如下所示:
录结构如下:
packages/
├── foo-pkg
│ └── package.json
├── bar-pkg
│ └── package.json
├── baz-pkg
│ └── package.json
└── qux-pkg
└── package.json
2.1 安装lerna
由于lerna会经常使用到,所以这里可以采用全局安装
npm i -g lerna
2.2 初始化项目
lerna init
初始化完项目后,我们可以看到package.json &lerna.json如下所示:
// package.json
{
"name": "root",
"private": true, // 私有的,不会被发布,是管理整个项目,与要发布到npm的解耦
"devDependencies": {
"lerna": "^3.15.0"
}
}
// lerna.json
{
"packages": [
"packages/*"
],
"version": "0.0.0"
}
2.3 创建npm包
增加两个包@mo-demo/cli @mo-demo/cli-shared-utils
lerna create @mo-demo/cli
lerna create @mo-demo/cli-shared-utils
2.4 增加模块依赖
lerna add chalk // 为所有 package 增加 chalk 模块
lerna add semver --scope @mo-demo/cli-shared-utils // 为 @mo-demo/cli-shared-utils 增加 semver 模块
lerna add @mo-demo/cli-shared-utils --scope @mo-demo/cli // 增加内部模块之间的依赖
2.5 发布
lerna publish
2.6 依赖包管理
lerna bootstrap --hoist
{
"packages": [
"packages/*"
],
"command": {
"bootstrap": {
"hoist": true
}
},
"version": "0.0.1-alpha.0"
}
lerna clean
完善的工作流 typescript支持 风格统一的编码 完整的单元测试 一键式的发布机制 完美的更新日志
三、pnpm
常见的目录结构如下:
node_modules
├─ foo
| ├─ index.js
| └─ package.json
└─ bar
├─ index.js
└─ package.json
3.1 安装pnpm
使用pnpm代替npm / Yarn,顺便用pnpx代替npx,命令如下:
pnpm install
pnpx create-react-app my-cool-new-app
3.2 pnpm 更新包
monorepo 项目中可以通过 --filter 来指定 package,进而更新包
3.3 pnpm 移除依赖
monorepo 项目中将包从node_modules 和 package.json 中移除,如下:
pnpm uninstall xxxxx --filter package-a
3.4 pnpm 硬连接项目
pnpm link ../xxxxxxx
我们可以使用pnpm、vite构建工具来实践一下,可以拿vue3、react17弄个demo试试。
pnpm可能不是适用于所有项目或所有堆栈的正确工具,但是如果我们想尝试解决的monorepo相同的问题,我们可以考虑将其作为替代方法。
四、总结
关注我,一起携手进阶
欢迎关注前端早茶,与广东靓仔携手共同进阶~
评论
如何选择广告媒体?
1、产品的特点 选择广告媒体应当根据企业所推销的产品或服务的性质与特征而定,因为各类媒体 在展示、解释、可信度、注意力与吸引力等各方面具有不同的特点。广告商品有什么特 性,处于何种生命周期,是名牌还是大路货等,都会影响媒体的选择。
2.目标市场的特点 不同年龄、性别、职业、文化修养、社会地位、经济状况的消费者,对广告媒体的 接受能力和接受习惯也不相同。因此,在选择广告媒体时,必须充分考虑不同消费群的 性质,才能保证广告信息的有效覆盖。
3.广告的特点 广告策划者传播广告信息时,大都以宣传企业或产品(服务)所具有的各种特点 为主要内容,因此,在选择媒体时,必须考虑企业或产品自身的特点。因为各种广告媒 体类型在示范、形象
广告综合平台
0
如何选择网店ERP?
网店erp哪家好?网店是一种比较特殊的电商,其侧重在于处理单量以及仓库库存,对于很多网店来说,手动管理订单和仓库所带来的结果就是订单混淆、仓库混乱,这个时候,就必须借助网店ERP来进行管理,那么,网店ERP哪家好呢?下面聚水潭ERP(http://www.jushuitan.com)就告诉大家网店ERP的选择。
什么叫做一款好的ERP软件?
1、可以跨平台多店铺
网店的性质较为特殊,很多人在开网店的时候,往往会选择跨平台开设多个店铺,这时候选择一款可以支持多个平台以及多个店铺的ERP就显得至关重要了。如果一个店铺需要一个网店ERP,简直就是灾难,这样来的效果可能还不如人工。
2、有智能化的订单处理
订单环节是网店很
知了
0
如何选择短信服务商
这一问题要看项目规模大小,短信月发送量,通常一个月千万条以下的都可以选择第三方短信平台,月发送量超过千万的,可以考虑申请独立的短消息码号,说通俗点就是106短信平台,如果不是业务本身与通信挂钩,一般不建议,举个很简单的例子,摩拜、ofo接入的就是像创瑞云这样的第三方短信平台,短信的月发送量同样达到千万级;
选择第三方短信平台,首选是要看这个公司是否正规:
1、工商信息,营业执照以及经营范围;
2、第二类增值电信许可证,这个是工信部颁发的,代表该公司可以从事短信在内的第二类增值电信业务;
3、106短消息接入证以及技术团队,从工信部审批下来的106码号,必须有技术团队才有能力进行服务协议接入,如CMPP协议。当然,在后期的技术
Unique Man
0
ERP系统如何选择?
ERP系统是ENTERPRISE RESOURCE PLANNING的缩写,中文意思是企业资源计划,就是针对物资资源管理(物流)、人力资源管理(人流)、财务资源管理(财流)、信息资源管理(信息流)集成一体化的企业管理系统。做到以信息技术为基础,将信息技术和先进管理思想融为一体,用系统化的管理思想,为企业员工及决策层提供决策手段的管理系统。
ERP系统主要是MRP(物料需求计划)延伸出来的新一代集成化管理信息系统,主要扩展了MRP的功能,它的核心思想就是供应链管理。ERP系统脱离了传统企业的舒适圈,从供应链角度优化企业资源,同时优化了现代企业的运行模式,反映了市场对企业合理调配资源的要求。它对于改善企业业务流程、提高企业核心竞争力具有
积加ERP管理系统
0
如何选择短信平台?
短信因其到达率高、价格低廉等优点受到广大企业商家的青睐,短信营销成了各行各业最重要的推广手段之一。如何辨别短信平台的好坏,就成了各大企业需要重点考虑的问题。以下,就是辨别短信平台好坏的几个重要依据:
1、过硬的专业素养
通常情况下,优质的短信平台会拥有过硬的技术团队和优质的服务通道,可为企业商家提供完善的各项服务,而且还具备外接端口的技术开发能力,能够很好的满足企业商家的需求。不论企业是做短信营销还是身份验证,都可以拥有较便捷的体验。
2、简单易懂的操作平台
这个短信平台的功能必须要齐全,版面不需要太多的花哨,最重要的是简单易懂,而且有质量保障。虽然现在是科技时代,但还是有很多的人并不是很熟练的应用电脑程序,操作方便、简单易
亿美软通
0
如何选择项目管理软件
好的项目管理软件不止是工具,还蕴含着先进的管理思想和管理实践,可以帮助企业进一步提升管理水平。管理软件市场鱼龙混杂,很多管理软件只是一种工具,并不能帮助企业提升整体管理水平或项目运营效率。如何鉴别项目管理软件是否蕴含先进的管理思想或管理实践呢?如何找到更好、更有价值的项目管理软件呢? 本文将从以下四个角度来评判项目管理软件价值。
1.规范核心业务流程
没有规范的业务流程,项目资源必定如一盘散沙,项目作业人员各行其是,既找不到工作的方向,更无法对自己的工作做进一步详细计划,这种扑朔迷离的项目状态不利于整体项目的运行效率。蕴涵先进管理思想的项目管理软件结合了先进的管理理念和优秀企业的管理实践,不仅按业务流程整合松散的部门,更规范业务
石可凡
0
中小企业如何选择ERP
目前,中、小型企业占到市场数量的60%以上,几大企业信息化软件提供商都不约而同地在中、小型企业市场屯以重兵。那么一个中、小型公司又该在诸多供应商家中如何寻找适合自己的产品呢?IDC提出了对中小企业信息化建设的建议:选择长期的合作伙伴,从业务出发来进行IT规划,采用标准化、平台化的产品,有效集成各个应用系统,并且对于ERP的实施,企业高层应从策略上予以足够的重视和参与。
ERP系统-ERP管理软件-进销存-财务系统软件-青岛速达软件
根据IDC对用户IT需求的一项调查报告显示,用户对业务应用系统集成的需求,已经超过了对提高自动化程度的需求。
不过,中小企业在信息化过程中也会遇到许多问题,比如一家制造业公司实施了ERP,但
青岛速达天耀软件
0
如何选择ERP系统
近期收到很多朋友的信息都在问怎么选择ERP,的确这是一个头疼的问题,现在市面上的ERP种类有很多,让我们挑花了眼,其实仔细去考察了解,其实每款软件都有自己的优势,但是真正想做到软件符合每个企业的需求是不可能的,更有侧重点,就看企业内部需求是怎样的,那么我们该如何选择ERP呢?下面天津中子星就给您分析一下,希望可以受用。
1) 客户选型要根据自己的业务模式,如公司规模、生产特点、灵活度等等,如果公司是按照模式复用来操作,流程规范,可以选择相对成熟的ERP产品, 如果企业生产灵活度高、政策影响大,对上下游要求高,那么则应选择能够快速调整的ERP产品。
2) 根据自己的资金状况,合理的选择使性价比最高,要使得系统更有弹性。
3) 人
天津中子星
0
如何选择项目管理软件(三)
传统项目管理模式在沟通、计划、核算、风险控制等多方面存在严重弊端,不但没有解决项目效率问题,反而将项目中的各种问题放大或堆积,无法提升项目效率和企业价值。
在互联网时代,项目管理模式已经快速进入智能化阶段,智能化的项目管理模式可以快速解决项目效率问题。企业通过智能化的进度管理、工时管理、财务核算、人力资源管理、风险管理、成本管理、资源计划等,才有可能提升项目效率,创造更多价值。本文以诺明PSA管理系统为例,从以下两个方面阐述项目管理软件智能化的最重要标准,帮助项目型企业做出正确选择。
1.项目核算智能化
项目执行过程耗费各类资源,项目管理软件应该帮助用户实时记录项目业务数据,包括但不限于人员工时、直接费用、物料耗费、仪器设备、
石可凡
0
企业如何选择ERP系统?
基本要求:
1.是否支持OA、财务一体化?
2.功能是否完善?
3.是否允许流程、界面、报表等自定义?
4.是否所有报表都能够支持、或自定义实现?
5.是否支持MRP运算真正融合到ERP中,能够逆算、提前计算、随处可算?
6.是否支持具有多种企业解决方案?
7.能否跨各种行业、通用性怎样?
8.实施成功率怎样?
9.是否支持快速实施?
10.技术是否先进?
11.界面是否美观?
12.后期服务量怎样?维护量是否较小?
13.是否支持所有数据库?
14.是否支持所有自然语言?
15.能否开放式地让用户试用?
16.是否具有国际开发集团的技术支持?
详细分析:
1.尽量选择OA、财务一体化的ERP系统。
作为一个基本的信息集成系统,这
SAP奥维奥
0