精华内容
下载资源
问答
  • monorepo

    2019-07-16 17:19:00
    1.什么是monorepo? Monorepo 它是一种管理 organisation 代码的方式,在这种方式下会摒弃原先一个 module 一个 repo 的方式,取而代之的是把所有的 modules 都放在一个 repo 内来管理。 目前诸如 Babel, React...

    1.什么是monorepo?

    Monorepo 它是一种管理 organisation 代码的方式,在这种方式下会摒弃原先一个 module 一个 repo 的方式,取而代之的是把所有的 modules 都放在一个 repo 内来管理。

    目前诸如 Babel, React, Angular, Ember, Meteor, Jest 等等都采用了 Monorepo 这种方式来进行源码的管理。

    2.git 多仓库管理的缺点

    1. 管理调试困难
    2. 分支管理混乱
    3. 依赖关系复杂
    4. 三方依赖版本可能不一致
    5. 占用总空间大
    6. 不利于团队协作

    每个小点,需要仔细分析其困难

    3.什么是lerna?

    Lerna 就是基于Monorepo 理念的工具实现。使用lerna 管理的目录结构:

    ├── packages
    │      ├─ module-a
    │      │    ├─ src            # 模块 a 的源码
    │      │    └─ package.json   # 自动生成的,仅模块 a 的依赖
    │      └─ module-b
    │           ├─ src            # 模块 b 的源码
    │           └─ package.json   # 自动生成的,仅模块 b 的依赖
    ├── tsconfig.json             # 配置文件,对整个项目生效
    ├── .eslintrc                 # 配置文件,对整个项目生效
    ├── node_modules              # 整个项目只有一个外层 node_modules
    └── package.json              # 包含整个项目所有依赖

    所有全局配置文件只有一个,这样不会导致 IDE 遇到子文件夹中的配置文件,导致全局配置失效或异常。node_modules 也只有一个,既保证了项目依赖的一致性,又避免了依赖被重复安装,节省空间的同时还提高了安装速度。

    兄弟模块之间通过模块 package.json 定义的 name 相互引用,保证模块之间的独立性,但又不需要真正发布或安装这个模块,通过 tsconfig.json 的 paths 与 webpack 的 alias 共同实现虚拟模块路径的效果。

    4.如何用lerna进行项目管理:

    1. npm install —global lerna
    2. git init monorepo-example        cd monorepo-example
    3. Lerna init
    ├──packages
    ├── lerna.json
    └── package.json

           4. cd packages

       5.mkdir monorepo-example-module-a       cd  monorepo-example-module-a       npm init

           6.Mkdir  monorepo-example-module-core     cd monorepo-example-module-core    npm init

    假设module-a 依赖module-core ,然后在根目录执行

      7.cd monorepo-example 

      8. lerna bootstrap  生成如下的目录结构。

    lerna 是业界知名度最高的 Monorepo 管理工具,功能完整.

    5.实践monorepo

    1.提升common dependencies
    2.提升tools 和 build scripts


     

     

    转载于:https://www.cnblogs.com/torri/p/11196220.html

    展开全文
  • Monorepo

    2021-05-12 10:05:19
    背景:公司有多个内部组件库/工具库,分散在不同的仓库。这样导致的问题是,管理与发布比较麻烦。因此,需要一个解决方案可以实现在一个仓库管理多个子包。 技术方案:Lerna is a tool that optimizes the workflow...

    背景:公司有多个内部组件库/工具库,分散在不同的仓库。这样导致的问题是,管理与发布比较麻烦。因此,需要一个解决方案可以实现在一个仓库管理多个子包。

    技术方案:Lerna is a tool that optimizes the workflow around managing multi-package repositories with git and npm.

    Lerna Pro: 每个package有独立的依赖

    核心功能:

    lerna bootstrap:link dependencies in the repo together

    lerna publish:publish any updated packages

    两种模式:
    Fixed mode:a major change in any package will result in all packages having a new major version

    Independent mode:increment package versions independently  

     

    展开全文
  • monorepo:Monorepo-源码

    2021-03-28 16:38:54
    Monorepo Monorepo
  • Monorepo
  • monorepo-源码

    2021-04-01 03:02:41
    Monorepo
  • Monorepo-源码

    2021-02-19 03:59:07
    Monorepo
  • monorepo-test:尝试monorepo
  • Monorepo与纱线工作区 快速开始 要求 node >= 8 yarn >= 1 克隆此仓库 $ git clone https://github.com/epilande/monorepo.git $ cd monorepo 安装依赖项 $ yarn install 启动开发环境 导航到 $ yarn start
  • dokku-monorepo:用于monorepo设置的Dokku插件·从https:gitlab.comnotpushkindokku-monorepo镜像
  • 这是 NextJS 应用程序的前端 monorepo 模板。 支持: 创建应用程序/共享模块 共享 TypeScript / ESLint / Prettier 配置 全局和每个应用程序故事书 全局和每个应用程序启动/停止 全局和每个应用程序/共享模块测试 ...
  • 不仅Composer工具可以构建Monorepo 您使用更多软件包来维护 ? 该软件包几乎没有有用的工具,这将使之变得更加容易。 安装 composer require symplify/monorepo-builder --dev 用法 0.您是Monorepo的新手吗? ...
  • monorepo:带有纱线工作区的简单monorepo
  • Fastlane-Monorepo 迁移到monorepo的脚本,有关更多信息,请 源代码 migrate_code.rb 迁移实际存储库(源代码) migrate_links.rb 更新来自的所有链接 https://github.com/fastlane/sigh 至 ...
  • React本机打字稿Monorepo 这是一个在制品,但目前正在运行。 它是仅基于纱线的monorepo,用于构建基于react-native并编译为Web的应用程序。 我用lerna可以完成相同的事情,但是对于不会发布libs的monorepo(这是...
  • Monorepo 目前,我们正在迁移到此布局和工作流程。 该存储库是我们内部git-maven-monorepo的摘录。 也许有助于创建自己的。 我们将在不久的将来解释更多细节。 使用资料库 最初设定: git clone git@github....
  • Monorepo vs.Polyrepo Monorepo表示使用一个包含许多项目的存储库,polyrepo表示每个项目使用一个存储库。 此页面讨论了异同,并针对这两者提供了建议和意见。 内容: Monorepo的支持者 如果组件需要一起释放,请...
  • monorepo-acme-apps:Monorepo随附博客文章
  • Strudel Finance的Monorepo Strudel Finance是第一个将比特币连接到以太坊的单向,无信任的桥梁。 只能通过在比特币区块链上燃烧BTC并在以太坊上接收等量的vBTC来穿越桥梁。 动作是不可逆的。 果馅奶酪卷的目的有...
  • BuckleScript Monorepo示例 这个小示例来自react-hooks主题( bsb -init . -theme react-hooks ),展示了一个用于BuckleScript项目的简单monorepo设置。 它力求尽可能简单,并做出以下设计选择: 没有复杂的...
  • MonoRepo 使用MonoRepo模式进行角度项目测试 要构建项目,您需要使用以下结构向两个项目添加一个appsettings.json文件:{“ Logging”:{“ LogLevel”:{“ Default”:“ Information”,“ Microsoft”:“ ...
  • nest-react-monorepo:Nestreact Monorepo与docker的模板
  • 爱喜projeto SE trata德庵样板段庵monorepo,COM一个estrutura inicial德庵后端EM graphqlē睾丸,前端EMReactË测试图书馆电子UMA面食compartilhada COMconfigurações德皮棉。 :satellite:铁线虫 莫诺雷波 ...
  • Verdaccio Monorepomonorepo包含构成Verdaccio体系结构的所有软件包,但本身和除外。 弃用的项目 任何将来的更改都必须在分支上进行。 主分支不再允许捐款。 此存储库上的分支9.x仍保留有错误修复或安全补丁。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,614
精华内容 1,045
关键字:

monorepo