ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

lerna monorepo 使用 ant design pro 与配套库 踩坑

2021-12-07 12:00:07  阅读:216  来源: 互联网

标签:ifnk pro ant json lerna packages dumi


首先安装 lerna ,这个自己百度 ……  安装完命令行会说 lerna 找不到 ,这个也百度 …… (大概就是 npm 还是 yarn 里面  的 bin 里面 有 lerna 执行程序 ,把他加到 环境变量里面 就能用了 )

lerna 有两种用法  ,monorepo 和 另外 一个(名字忘记 了) ,这里用 monorepo用法 

先创建 文件夹 

$ mkdir lerna-study-monorepo && cd lerna-study-monorepo 

lerna init 初始化 

$ lerna init 

# ifnk @ ifnk in ~/proj/lerna-study-monorepo on git:master x [11:19:34]
$ exa -T -L 2
.
├── lerna.json
├── package.json
└── packages

编辑下leran.json 

{
  "packages": [
    "packages/*"
  ],
  "version": "0.0.0",
  "npmClient": "tyarn"  // 加上这行,指定 npm 客户端,这里选择 tyarn ,速度快一点
}

cd 到 packages 里面 去 ,这里面 是存 要 用的库的 

先建一个 ant-pro-design 的项目 ,具体步骤百度 

在建一个 dumi 基础组件库 ,具体步骤百度 

这个时候项目结构是这样

# ifnk @ ifnk in ~/proj/lerna-study-monorepo on git:master x [11:27:55]
$ exa -T -L 2
.
├── lerna.json
├── package.json
└── packages
   ├── lerna-ant-design-pro   # antpro 主项目 
   └── lerna-dumi-component-lib # dumi 组件库(基础库) 

把两个项目对应的 package.json 改下 名字 

$ vim packages/lerna-ant-design-pro/package.json 

"name": "ant-design-pro" 第3行 这个 名字 改成 "name": "@ifnk/ant-design-pro",
不加 斜杠的话后面 lerna操作会说名称有问题

$ vim packages/lerna-dumi-component-lib/package.json

"name": "lerna-dumi-component-lib"  ----> "name": "@ifnk/lerna-dumi-component-lib",

 

由于lerna-ant-design-pro 引用  lerna-dumi-component-lib 

所有 使用  lerna add 来 为 lerna-ant-design-pro 添加  lerna-dumi-component-lib 依赖 

或者直接在 packages/lerna-ant-design-pro/package.json  里面 的 dependencies 手写 dumi 的依赖 

  "dependencies": {
    ...
    "@ifnk/lerna-dumi-component-lib":"1.0.0",

 

执行  lernabootstrap 

# ifnk @ ifnk in ~/proj/lerna-study-monorepo on git:master x [11:46:29]
$ lerna bootstrap

看到 success 2 packages 就 是成功了  

lerna success Bootstrapped 2 packages

然后测试下 

在 dumi-lib里面 写个 简单的 函数  

# ifnk @ ifnk in ~/proj/lerna-study-monorepo/packages/lerna-dumi-component-lib on git:master x [11:48:35]
$ exa -T -L 1
.
├── docs
├── node_modules
├── package.json
├── README.md
├── src  # 这里面写个 ifnkSum.ts 测试下 
├── tsconfig.json
├── typings.d.ts
└── yarn.lock
export const ifnkSum(num:number)=>console.log(num)
ifnkSum.ts [+]

 

然后在 ant d pro 里面 引用 (这里用登录页面测试下)

 

 

 

加上这个
默认不编译node_module里面的文件。

需要把你要编译的依赖库加进去。

 

标签:ifnk,pro,ant,json,lerna,packages,dumi
来源: https://www.cnblogs.com/ifnk/p/15655361.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有