vue3新建组件库项目并上传到私库

创建vue3项目,步骤省略

nexus配置

访问 http://192.168.0.9:8081/

账号密码 admin Yanfabu01!

参考网址 https://www.jb51.net/javascript/3178205jj.htm

项目满足的条件

tsconfig.json\]中 添加"baseUrl": "." ![](https://i-blog.csdnimg.cn/direct/49867a25c2154c508bfab0c6adfbe977.png) \[package.json\]中 添加 "private": false, "main": "/packages/index.js" ![](https://i-blog.csdnimg.cn/direct/7a907aa49d234edfbdf94b404164ce12.png) 新建packages文件夹,编写组件 ![](https://i-blog.csdnimg.cn/direct/b540e7cd50744c8c8c091782648de63f.png) index.js代码 ```javascript import { version } from '../package.json' import TyInput from './input/tyInput.vue' import TyButton from "./button/tyButton.vue"; const components = [TyInput, TyButton] const install = function(Vue, opts = {}) { components.forEach(component => { Vue.component(component.name, component) }) } /* istanbul ignore if */ if (typeof window !== 'undefined' && window.Vue) { install(window.Vue) } export default { version, ...components, install } ``` package.json中代码 ```javascript { "name": "tuyang-ui-plus", "version": "1.0.0" } ``` 建立组件tyButton,新建button文件夹,下面建立tyButton.vue和index.js tyButton.vue代码 ```javascript ``` index.js中代码 ```javascript // 导入组件 import TyButton from 'tyButton' TyButton.install = function(Vue) { Vue.component('TyButton', TyButton) } export default TyButton ``` 项目中测试组件是否好用,src文件下新建index.vue ```javascript ``` # 组件库发布命令 ## 设置本地仓库镜像源 npm config set registry http://192.168.0.9:8081/repository/tuyang-npm-group/ ## 登录本地仓库 npm login --registry=http://192.168.0.9:8081/repository/tuyang-npm/ username:admin password:Yanfabu01! email:xxxxx ## 发布到本地仓库 npm publish --registry=http://192.168.0.9:8081/repository/tuyang-npm/ ## 查看组件 浏览器访问 http://192.168.0.9:8081/ # 组件安装及使用 1. npm install tuyang-ui-plus 2.main.js中引入 import tuYangUiPlus from 'tuyang-ui-plus' app.use(tuYangUiPlus)

相关推荐
我在北京coding22 分钟前
TypeError: Cannot read properties of undefined (reading ‘queryComponents‘)
前端·javascript·vue.js
海天胜景1 小时前
vue3 获取选中的el-table行数据
javascript·vue.js·elementui
翻滚吧键盘1 小时前
vue绑定一个返回对象的计算属性
前端·javascript·vue.js
乆夨(jiuze)2 小时前
记录H5内嵌到flutter App的一个问题,引发后面使用fastClick,引发后面input输入框单击无效问题。。。
前端·javascript·vue.js
小彭努力中3 小时前
141.在 Vue 3 中使用 OpenLayers Link 交互:把地图中心点 / 缩放级别 / 旋转角度实时写进 URL,并同步解析显示
前端·javascript·vue.js·交互
xiguolangzi3 小时前
vue3+element-plus el-table列的显隐、列宽 持久化
前端·javascript·vue.js
大猩猩X4 小时前
vxe-upload vue 实现附件上传、手动批量上传附件的方式
vue.js·vxe-ui
come112344 小时前
Vue 响应式数据传递:ref、reactive 与 Provide/Inject 完全指南
前端·javascript·vue.js
海天胜景6 小时前
vue3 el-table 行筛选 设置为单选
javascript·vue.js·elementui
今天又在摸鱼6 小时前
Vue3-组件化-Vue核心思想之一
前端·javascript·vue.js