• 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

  • 相关阅读:
    php排序算法-冒泡排序
    Mac安装java JDK
    mysql索引简单记录一下
    Mac 通过 pecl安装 redis 扩展
    Mac通过pecl安装swool时遇到的坑(root + openssl)
    php获取两个日期的之间的日期信息,返回数组
    2021.4.9训练
    王道数据结构代码:双向链表的操作
    王道数据结构代码:单链表的操作
    PTA 7-1 大炮打蚊子 (15 分)
  • 原文地址:https://www.cnblogs.com/rongfengliang/p/9272022.html
Copyright © 2020-2023  润新知