将工程内的组件 集成并发布到私有仓库以及后续联动运行(热启动)

本文主要是介绍将工程内的组件 集成并发布到私有仓库以及后续联动运行(热启动),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

将工程内的组件 发布到私有仓库

背景与简介
1、项目的数据
私有仓库地址: 【】
私有仓库账号/密码: 【】
组件包名称: 【@ciec/ciec-component-pc】
组件包项目git地址:【 】
node版本:【】
2、文献链接
a)t
b)
3、注意
后期开发使用,只需要关注五、六段落即可

一、组件包准备(待完善)

1、新建一个项目文件夹(项目名称)目录如下;

  • lib
  • components —— 该文件夹下存放所有从项目中原封不动复制过来的组件(待修改)
  • assets —— 从项目中原封不动复制过来的、会被打包工具处理的静态资源
  • public —— 从项目中原封不动复制过来的、不会被打包工具处理的静态资源
    • types —— ts类型
  • utils —— 从项目中原封不动复制过来的公共方法
  • index.js —— 通过Vue.component(),注册全局组件方法
  • src
    • main.js —— 预留
    • App.vue —— 预留
  • package.json —— 修改name、version、description、author等基础项目信息
    修改项目的入口"main": “lib/index.js”,
    还需注意name的命名为后续组件库包publish的名称
    如果在某个文件夹下,命名则为**“文件夹名称/项目名称”**
  • vue.config.js
  • .npmrc
  • .gitignore
  • .eslintignore
  • .editorconfig
  • postcss.config.js
  • readme.md—— 项目的描述性文件
    • tsconfig.json —— 修改alias文件名别,paths字段中改为@不再指向src,而是指向lib, “@/": ["lib/”]
  • …其他必须的配置文件

2、components中组件复制,需要改造的地方
a) API接口请求
b) config,文件上传使用了项目中src/config信息
c) store,有的使用了Vuex,或者qiankun的store
d) AppModule,比如导出等,打开了主应用的导出弹窗
e) 路由Route,比如面包屑
f) 其他的暂时没有考虑到

二、组件包代码上传git

1、现在github相应的位置建立一个空的项目;
2、将组件包的代码复制过来,然后提交代码push到远程仓库即可

三、组件包发布

0、私有库准备
如果你还没有一个私有的npm仓库,你需要先搭建一个。你可以使用Verdaccio等工具来快速搭建一个私有的npm仓库。
1、账号登录对应仓库

npm login --registry 仓库地址

2、没有账号,则注册,添加对应仓库账号

npm adduser --registry 仓库地址

3、修改package.json中的version版本号,然后发版

npm publish --registry 仓库地址

4、删除组件库中对应的组件包

npm unpublish --force 组件包名称 --registry 仓库地址

四、项目内使用组件包中的组件

0、项目准备
在你的本地开发环境中,将npm的源配置为你的私有仓库地址。这可以确保当你发布组件库时,它会被上传到你的私有仓库而不是公共的npm仓库。

//.npmrc
registry=https://registry.npmmirror.com/
@ciec:registry=私有仓库地址/

1、项目仓库中的组件包

yarn add 组件包名称
yarn add 组件包名称 --registry 仓库地址 //* 没有配置.npmrc时

2、业务内使用

<template><div><CiecBaseSearchTableref="baseSearchTable":queryForm.sync="queryForm":dataSource.sync="dataSource":searchFormConfig="searchFormConfig":tableConfig="searchTableConfig"@eventHandler="handleEventHandler"></CiecBaseSearchTable></div>
</template>
<script lang="ts">
@Component({name: `${baseConfig.ID}List`,components: {}
})
export default class extends Vue {//todo 具体的业务逻辑
}
</script><style lang="scss" scoped>
</style>

五、本地联动运行(待完善)

todo 启动本地的组件包代码、启动本地的主子应用,修改本地的组件包代码,页面可动态刷新
注意:每次通过yarn link 组件包、yarn add 组件包,必须重新运行yarn dev
可以使用npm 也可以使用yarn命令

3 ways to test your components locally before publishing them to npm
A.npm link(yarn link)
1、组件库项目yarn link 创建全局的软链接 (可以通过yarn unlink 取消全局的软连接)

yarn link
yarn unlink //* 取消全局的软连接

2、子应用运行yarn link 组件包名称 使用软连接(可以通过yarn unlink 组件包名称,取消使用软连接)

yarn link @ciec/ciec-component-pc
yarn unlink @ciec/ciec-component-pc //* 取消使用软连接

3、子应用运行yarn dev

yarn dev

4、修改组件库项目代码
因为是通过软连接的形式链接过去的,既可以修改组件库的工程,也可以直接修改子应用node_modules/@ciec/ciec-component-pc中的文件,修改后,子应用会重新运行,最后就可以去页面查看改动了
5、开发完毕之后就可以进行“六、组件库发布”了
B、npm pack(待补充)

C、yalc(待补充)

D、使用包本地路径安装
1、子项目运行yarn add 组件包地址

yarn add /Users/haoyuzhang/Desktop/ERP/ciec-component-pc

2、子应用运行yarn dev

yarn dev

3、修改组件库项目代码
因为是通过下载本地的文件,生成六一份组件包的副本,不可直接通过修改组件库的工程代码联调(子应用的node_modules/@ciec/ciec-component-pc代码不会更新),只可以修改子应用node_modules/@ciec/ciec-component-pc中的文件,子应用会重新运行,最后就可以去页面查看改动了
4、开发完毕之后,需要将代码从子应用的node_modules/@ciec/ciec-component-pc复制到组件包的本地工程中,就可以进行“六、组件库发布”了

六、组件库发布(0830)

1、组件库工程
●根据需求进行代码修改;
●修改package.json中的版本号version,有序加1
“version”: “0.1.14”,

●在对应的分支,代码提交git(项目开发中,直接在master开发)

git pull
git add .
git commit -m 'add 🌞【common】Initial commit —— 0.1.14'
git push

●组件库包发布

npm publish --registry 私有仓库地址

2、引用组件库的工程
●确保node版本正确,下载(切换到)16.14.2

node -v //* 查看node
n 16.14.2 //* 下载
n //* 进行切换

●下载最新的组件库包

 yarn add @ciec/ciec-component-pc

●将node切换到原来的版本(可能某些人在v16.14.2会运行报错)

n //* 进行切换

●运行当前项目

yarn dev

这篇关于将工程内的组件 集成并发布到私有仓库以及后续联动运行(热启动)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1112003

相关文章

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

JS常用组件收集

收集了一些平时遇到的前端比较优秀的组件,方便以后开发的时候查找!!! 函数工具: Lodash 页面固定: stickUp、jQuery.Pin 轮播: unslider、swiper 开关: switch 复选框: icheck 气泡: grumble 隐藏元素: Headroom

如何用Docker运行Django项目

本章教程,介绍如何用Docker创建一个Django,并运行能够访问。 一、拉取镜像 这里我们使用python3.11版本的docker镜像 docker pull python:3.11 二、运行容器 这里我们将容器内部的8080端口,映射到宿主机的80端口上。 docker run -itd --name python311 -p

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

如何在页面调用utility bar并传递参数至lwc组件

1.在app的utility item中添加lwc组件: 2.调用utility bar api的方式有两种: 方法一,通过lwc调用: import {LightningElement,api ,wire } from 'lwc';import { publish, MessageContext } from 'lightning/messageService';import Ca

【区块链 + 人才服务】区块链集成开发平台 | FISCO BCOS应用案例

随着区块链技术的快速发展,越来越多的企业开始将其应用于实际业务中。然而,区块链技术的专业性使得其集成开发成为一项挑战。针对此,广东中创智慧科技有限公司基于国产开源联盟链 FISCO BCOS 推出了区块链集成开发平台。该平台基于区块链技术,提供一套全面的区块链开发工具和开发环境,支持开发者快速开发和部署区块链应用。此外,该平台还可以提供一套全面的区块链开发教程和文档,帮助开发者快速上手区块链开发。

Vue3项目开发——新闻发布管理系统(六)

文章目录 八、首页设计开发1、页面设计2、登录访问拦截实现3、用户基本信息显示①封装用户基本信息获取接口②用户基本信息存储③用户基本信息调用④用户基本信息动态渲染 4、退出功能实现①注册点击事件②添加退出功能③数据清理 5、代码下载 八、首页设计开发 登录成功后,系统就进入了首页。接下来,也就进行首页的开发了。 1、页面设计 系统页面主要分为三部分,左侧为系统的菜单栏,右侧

跨系统环境下LabVIEW程序稳定运行

在LabVIEW开发中,不同电脑的配置和操作系统(如Win11与Win7)可能对程序的稳定运行产生影响。为了确保程序在不同平台上都能正常且稳定运行,需要从兼容性、驱动、以及性能优化等多个方面入手。本文将详细介绍如何在不同系统环境下,使LabVIEW开发的程序保持稳定运行的有效策略。 LabVIEW版本兼容性 LabVIEW各版本对不同操作系统的支持存在差异。因此,在开发程序时,尽量使用

vue2 组件通信

props + emits props:用于接收父组件传递给子组件的数据。可以定义期望从父组件接收的数据结构和类型。‘子组件不可更改该数据’emits:用于定义组件可以向父组件发出的事件。这允许父组件监听子组件的事件并作出响应。(比如数据更新) props检查属性 属性名类型描述默认值typeFunction指定 prop 应该是什么类型,如 String, Number, Boolean,

记录每次更新到仓库 —— Git 学习笔记 10

记录每次更新到仓库 文章目录 文件的状态三个区域检查当前文件状态跟踪新文件取消跟踪(un-tracking)文件重新跟踪(re-tracking)文件暂存已修改文件忽略某些文件查看已暂存和未暂存的修改提交更新跳过暂存区删除文件移动文件参考资料 咱们接着很多天以前的 取得Git仓库 这篇文章继续说。 文件的状态 不管是通过哪种方法,现在我们已经有了一个仓库,并从这个仓