初始化项目

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基本试用的更多相关文章

  1. #w30 2019年大前端技术周刊

    本周是2019年第30周 会议 2019年ArchSummit全球架构师峰会 2019年7月在深圳举行了ArchSummit全球架构师峰会,里面有不少关于大前端的主题可以关注. 从0到1,移动政务应用 ...

  2. DataPipeline丨LinkedIn元数据之旅的最新进展—Data Hub

    作者:Mars Lan, Seyi Adebajo, Shirshanka Das 译者: DataPiepline yaran 作为全球最大的职场社交平台,LinkedIn的数据团队不断致力于扩展其 ...

  3. DataHub——实时数据治理平台

    DataHub 首先,阿里云也有一款名为DataHub的产品,是一个流式处理平台,本文所述DataHub与其无关. 数据治理是大佬们最近谈的一个火热的话题.不管国家层面,还是企业层面现在对这个问题是越 ...

  4. 【记录】如何造一个vite插件(1)

    在看文章前,先做个定位,这不是一篇纯粹的技术性文章,可以把它理解成一个叙述文章,记录我开发插件的过程. 开始前简单的吹个牛 vue2 也写了很多年了,多人合作始终避不开用到别人的组件.关键是有些组件没 ...

  5. 基于yarn1.x的monorepo实践分享

    背景介绍 几天前,晓东船长微信问我,你们团队有没有monorepo的实践,我很遗憾的告诉他没有,但这在我心里播下了一颗探索的种子,刚好最近老总要搞内蒙古的新项目,我和另一个前端兄弟组成双枪敢死队进行保 ...

  6. 开源前端脚本错误监控及跟踪解决项目BadJS试用

    摘要: 试用BadJS. 原文:开源前端脚本错误监控及跟踪解决项目-BadJS 试用 作者:过错 Fundebug经授权转载,版权归原作者所有. BadJS 是 一个web 前端脚本错误监控及跟踪项目 ...

  7. [BigData - Hadoop - YARN] YARN:下一代 Hadoop 计算平台

    Apache Hadoop 是最流行的大数据处理工具之一.它多年来被许多公司成功部署在生产中.尽管 Hadoop 被视为可靠的.可扩展的.富有成本效益的解决方案,但大型开发人员社区仍在不断改进它.最终 ...

  8. purescript 基本试用

    安装环境 安装预编译文件 https://github.com/purescript/purescript/releases 配置环境变量: export PATH=$PATH:/Users/dalo ...

  9. yarn  workspace 开发示例

    此为官方示例: package.json { "private": true, "workspaces": [ "workspace-a", ...

随机推荐

  1. 常用技巧之JS判断数组中某元素出现次数

    先上代码:function arrCheck(arr){  var newArr = [];  for(var i=0;i<arr.length;i++){    var temp=arr[i] ...

  2. 【图像处理】计算Haar特征个数

    http://blog.csdn.net/xiaowei_cqu/article/details/8216109 Haar特征/矩形特征 Haar特征本身并不复杂,就是用图中黑色矩形所有像素值的和减去 ...

  3. hdu3037 Saving Beans(Lucas定理)

    hdu3037 Saving Beans 题意:n个不同的盒子,每个盒子里放一些球(可不放),总球数<=m,求方案数. $1<=n,m<=1e9,1<p<1e5,p∈pr ...

  4. monit拉起服务

    check process hive_metastore matching "HiveMetaStore" start program = "/usr/bin/nohup ...

  5. zabbix3.2源码升级至3.4

    安装见:https://www.cnblogs.com/LuckWJL/p/9037007.html 一.下载3.4版本安装包 二.停ZabbixServer [root@wcy ~]# /etc/i ...

  6. java maven 操作 收集的一些命令

    maven打包: mvn clean package -Dmaven.test.skip=true 运行jar: java -jar target/spring-boot-scheduler-1.0. ...

  7. UVa 11552 最小的块数(序列划分模型:状态设计)

    https://vjudge.net/problem/UVA-11552 题意:输入一个正整数k和字符串S,字符串的长度保证为k的倍数.把S的字符按照从左到右的顺序每k个分成一组,每组之间可以任意重排 ...

  8. mybatis报Invalid bound statement (not found) 分析

      解决问题的步骤,请参考: 1.mapper.xml要和对应的mapper接口在同一个包下,包名要一模一样. 2.Mapper接口中的方法在Mapper.xml中没有,然后执行Mapper接口的方法 ...

  9. 现在 做java 构架(RabbitMQ redis mysql )之类的

    现在 做java 构架(RabbitMQ redis mysql )之类的

  10. PHP通过日志来发现问题

    三大日志 1.Nginx的错误日志, Nginx的Access日志 2.PHPfpm的错误日志可设置级别 3.Mysql的慢查询日志