惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
罗磊的独立博客
雷峰网
雷峰网
量子位
V
Visual Studio Blog
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
月光博客
月光博客
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
腾讯CDC
Engineering at Meta
Engineering at Meta
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Jina AI
Jina AI
A
About on SuperTechFans

小松鼠的博客

记录一次线上k8s工作节点无法创建容器的问题排查思路与解决办法 记一次线上GoLang项目OOM排查过程 从LastPass转向拥抱开源KeePass的心路历程 故障定位与 AI 结合前后端编码实践 FileBeat收集nginx-ingress-controller日志 K8s云原生环境下文件描述符占用过高查询思路 2024年最新关闭火绒安全工具的开机自启方法 Kubernetes任务调度实践-Go语言实现Job和CronJob对比分析 离线更新k8s环境下的trivy漏洞库方法 使用Go语言接入Choerodon实现基于OAuth2的统一身份认证登录 在Vue2中自定义Switch组件并实现父子组件双向数据绑定 关于docker jdk1.8镜像中的GB18030-2022标准支持及验证 Go框架gin中的session存储gin-contrib-sessions和go-session docker-compose网络和内网服务IP冲突问题 慎用存储过程:一条语句引发的数据库存储100%占用 Spring Boot中4种文件下载方法的实现 避坑-不能将specific类型的gitlab-runner改变为share类型 Docker compose中的MySQL主从复制模式和percona-toolkit工具使用 在minio中开启https访问以及使用rclone备份minio桶 在多机Docker环境下部署Choerodon的解决方案 Prometheus中Monitor添加对SpringBoot Actuator的Basic认证 在Nginx的容器镜像中隐藏Nginx的Server响应头 K8s中的两种nginx-ingress-controller及其区别 两个docker工具:runlike和whaler Grafana中的邮件报警和截图插件grafana-image-enderer K8s中externalName-service和services-without-selectors maven配置文件settings.xml中的一些概念总结 K8s中flexvolume插件驱动的安装 K8s中的coredns无法解析svc问题排查 K8s中使用Ingress访问请求体过大问题解决
关于修改node_module中的源码问题记录
ycyin · 2023-07-26 · via 小松鼠的博客

2023年7月25日大约 2 分钟前端技术错误解决源码分析


在二次开发猪齿鱼时,choerodon-front依赖@choerodon/master,@choerodon/master又依赖choerodon-ui,我们用到的版本是1.3.2-beta.3版本,而这个版本的choerodon-ui存在一个bug需要修复。本文记录修改过程和踩坑

参考:https://openforum.hand-china.com/t/topic/5207

已查明是chorderon-ui:1.3.2-alpha3版本中的Dropdown组件与rc-compnent中的Dropdown组件不匹配。 rc中未判断overlay传入的是函数还是element,直接当成element使用。 而外部包装的Dropdown组件传入的是一个函数。
choederon-ui:1.4.2版本修复了这个bug

尝试直接升级到choederon-ui:1.4.2版本发现与原choerodon-front不兼容,这样的话我们只能修改choederon-ui:1.3.2-beta.3这个版本的源码修复这个bug,但是这个版本的源码我们没法编译(拉取不到依赖包),所以只能够修改他的发布包然后上传到我们自己的私库进行引用。

这里记录一下步骤和踩坑:

  1. 官方库中下载choerodon-ui的tgz包进行修改,通过对比1.4.2版本的源码,发现只需要修改如下内容

    修改内容
    修改内容
  2. 直接在包含package.json文件的路径下执行npm publish,这个操作需要先登录私库,需要注意的是npm publish命令发布到的地址是在.npmrc中或者package.json文件中指定的。

  3. 此时如果在choerodon-front使用我们刚刚发布的choerodon-ui(通过choerodon-master间接引入的),就会出现这个sha512校验不通过。找了半天也没找到如何来忽略这个checksum校验。

    npm WARN tarball tarball data for choerodon-ui@https://nexus.my.com/repository/npm-public/choerodon-ui/-/choerodon-ui-1.3.2-beta.3.tgz (sha512-ILrrmusY1HFd32GABH9AGHpxGs61RykWfnz8a6QjwcBPlTbC2hZ6XAiUInZrD1RiOwZTRD5rAb710fPbh98f2A==) seems to be corrupted. Trying again.
    npm ERR! code EINTEGRITY
    npm ERR! sha512-ILrrmusY1HFd32GABH9AGHpxGs61RykWfnz8a6QjwcBPlTbC2hZ6XAiUInZrD1RiOwZTRD5rAb710fPbh98f2A== integrity checksum failed when using sha512: wanted sha512-ILrrmusY1HFd32GABH9AGHpxGs61RykWfnz8a6QjwcBPlTbC2hZ6XAiUInZrD1RiOwZTRD5rAb710fPbh98f2A== but got sha512-XTbLhn23uAsM6ToSRWTZPYTxBCLTdbmdWrJnhUxvTcqvDx9bYaHshABi/wOwg9dcrZKIt2prOaddzTAPQZSXAg==. (28358010 bytes)
    
  4. 最终我采取的方式是:把我们修改的choerodon-ui增加一个版本号,同时修改choerodon-master依赖的choerodon-ui版本号。

    choerodon-ui下的package.json中修改"version": "1.3.2-beta.4"再进行发布,官方库中下载choerodon-master的对应版本,修改package.json中依赖的版本 "dependencies": { "choerodon-ui": "1.3.2-beta.4",...}再将choerodon-master发布到私库。

  5. 最后让我们的choerodon-front打包时去我们私库拉取这个两个包即可。需要注意的是如果私库有之前没有修改过的包可以删除了以免拉到旧包或造成误解。