yarn workspaces基本试用
初始化项目
yarn init -y
添加workspaces 支持
修改package.json
{
"name": "second",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"private":true,
"workspaces":["common","server"]
}
创建common && server 模块
- common
yarn init -y
├── index.js
└── package.json
index.js
module.exports={
name:"dalong-common",
type:"common"
}
- server 调用common
yarn init -y
├── index.js
└── package.json
package.json
{
"name": "server",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"dependencies": {
"common": "1.0.0"
}
}
index.js
const common =require("common");
console.log(common);
安装模块
yarn install
效果

代码调用测试
node server
{ name: 'dalong-common', type: 'common' }
lerna 格式支持
- 项目结构
├── package.json
├── packages
│ ├── common
│ │ ├── index.js
│ │ └── package.json
│ └── server
│ ├── index.js
│ └── package.json
└── yarn.lock
主要是 package.json
{
"name": "second",
"version": "1.0.0",
"main": "index.js",
"license": "MIT",
"private":true,
"workspaces":[
"packages/*"
]
}
以及packages 文件夹,其他地方不变
yarn install && node packages/server
几个问题
- 包版本的问题
比如我的项目comon 默认是1.0.0 但是如果我server 引用了1.1.0 ,但是因为本地是没有的,
会使用官方仓库的,这个实际上,在使用中还是要确定好版本,同时还是需要私服进行归档
进行历史版本的管理,确定好包的名称,使用私服格式
说明
版本管理本来就是比较复杂的事情,类似yarn 的有lerna 同时又一个概念monorepo,
bable react 就是使用类似的方式进行官方组件的维护的,还是不错的,减少了包的问题
但是也有缺点,就是依赖过大,总的来说yarn 还是比较简单的,lerna 功能比较多,但是
实际上内部团队用的可能没有那么多,同时比较好的地方是三方以及本地依赖统一一个地方,依赖包
不用必须提交代码仓库
参考资料
https://yarnpkg.com/blog/2017/08/02/introducing-workspaces/
https://lernajs.io/
https://github.com/rongfengliang/yarn-workspaces-demo
yarn workspaces基本试用的更多相关文章
- #w30 2019年大前端技术周刊
本周是2019年第30周 会议 2019年ArchSummit全球架构师峰会 2019年7月在深圳举行了ArchSummit全球架构师峰会,里面有不少关于大前端的主题可以关注. 从0到1,移动政务应用 ...
- DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub
作者:Mars Lan, Seyi Adebajo, Shirshanka Das 译者: DataPiepline yaran 作为全球最大的职场社交平台,LinkedIn的数据团队不断致力于扩展其 ...
- DataHub——实时数据治理平台
DataHub 首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关. 数据治理是大佬们最近谈的一个火热的话题.不管国家层面,还是企业层面现在对这个问题是越 ...
- 【记录】如何造一个vite插件(1)
在看文章前,先做个定位,这不是一篇纯粹的技术性文章,可以把它理解成一个叙述文章,记录我开发插件的过程. 开始前简单的吹个牛 vue2 也写了很多年了,多人合作始终避不开用到别人的组件.关键是有些组件没 ...
- 基于yarn1.x的monorepo实践分享
背景介绍 几天前,晓东船长微信问我,你们团队有没有monorepo的实践,我很遗憾的告诉他没有,但这在我心里播下了一颗探索的种子,刚好最近老总要搞内蒙古的新项目,我和另一个前端兄弟组成双枪敢死队进行保 ...
- 开源前端脚本错误监控及跟踪解决项目BadJS试用
摘要: 试用BadJS. 原文:开源前端脚本错误监控及跟踪解决项目-BadJS 试用 作者:过错 Fundebug经授权转载,版权归原作者所有. BadJS 是 一个web 前端脚本错误监控及跟踪项目 ...
- [BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台
Apache Hadoop 是最流行的大数据处理工具之一.它多年来被许多公司成功部署在生产中.尽管 Hadoop 被视为可靠的.可扩展的.富有成本效益的解决方案,但大型开发人员社区仍在不断改进它.最终 ...
- purescript 基本试用
安装环境 安装预编译文件 https://github.com/purescript/purescript/releases 配置环境变量: export PATH=$PATH:/Users/dalo ...
- yarn workspace 开发示例
此为官方示例: package.json { "private": true, "workspaces": [ "workspace-a", ...
随机推荐
- SQL sqlserver order by 1,order by 后面直接加数字,多个字段排序
①select * from table order by n 表示select里面的第n个字段 ②多个字段排序
- CF337C - Quiz
/*题目大意,给出n道题,假设答对了m道题,求最小的分数,有一个规则,就是连续答对num==k道题那么分数就翻倍,然后num清零,从新开始计数,到大连续k道的时候 要先加上这道题的分数1,再乘以2, ...
- jmeter导入csv压测
压测csv数据源(设置为utf-8格式),jmeter不需要第一行参数名 新建一个线程组,根据压测数据调整设置需要的循环次数(测试数据有9行,设置循环次数为9) 添加http头信息 Content-T ...
- 20145118 《Java程序设计》第5周学习总结 教材学习内容总结
20145118 <Java程序设计>第5周学习总结 教材学习内容总结 1.Java中所有错误都会被打包成对象,可以通过try.catch语法对错误对象作处理,先执行try,如果出错则跳出 ...
- mfc制作ActiveX
转:https://blog.csdn.net/hkcsdn/article/details/52908748 前言 ActiveX是Microsoft对于一系列策略性面向对象程序技术和工 ...
- [CF580D]Kefa and Dishes
题意翻译 kefa进入了一家餐厅,这家餐厅中有n个菜(0<n<=18),kefa对第i个菜的满意度为ai(0<=ai<=10^9),并且对于这n个菜有k个规则,如果kefa在吃 ...
- C#SendMessage用法
C#SendMessage用法 分类: C#操作内存相关 2011-11-26 23:52 1255人阅读 评论(0) 收藏 举报 函数功能:该函数将指定的消息发送到一个或多个窗口.此函数为指定的窗口 ...
- 雷林鹏分享:Ruby 发送邮件 - SMATP
Ruby 发送邮件 - SMATP SMTP(Simple Mail Transfer Protocol)即简单邮件传输协议,它是一组用于由源地址到目的地址传送邮件的规则,由它来控制信件的中转方式. ...
- ActiveSupport::TimeZone; 功能:用户自行选择时区。
TimeZone类作为一个包装器,服务一个TZinfo::Timezone 实例. 用途: 134个时区的检索. 使用简化的英文单词来取回和显示时区:如"Beijing" => ...
- phpstorm 2017版代码提示功能开启解决方案
安装好phpstorm 2017之后 发现代码高亮和函数自动提示都失效了 在phpstorm底部面板的信息提示处发现有一条系统消息: 12:04:18 Power save mode is on Co ...