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

创建vue3项目,步骤省略

nexus配置

访问 http://192.168.0.9:8081/

账号密码 admin Yanfabu01!

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

项目满足的条件

tsconfig.json中

添加"baseUrl": "."

package.json中

添加

"private": false,

"main": "/packages/index.js"

新建packages文件夹,编写组件

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 复制代码
<template>
  <div>
    <el-button type="primary">Primary</el-button>
  </div>
</template>
<script setup>
// 组件命名
defineOptions({name: 'TyButton'})
</script>

<style lang="scss" scoped></style>

index.js中代码

javascript 复制代码
// 导入组件
import TyButton from 'tyButton'

TyButton.install = function(Vue) {
  Vue.component('TyButton', TyButton)
}

export default TyButton

项目中测试组件是否好用,src文件下新建index.vue

javascript 复制代码
<template>
	<ty-button></ty-button>
</template>

<script setup lang="ts">
  import {ref} from "vue";
</script>

<style lang="scss" scoped>
</style>

组件库发布命令

设置本地仓库镜像源

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)

相关推荐
小郎君6581 小时前
(一)为什么表单需要第三种状态:disabled、readonly 与纯文本展示
前端·vue.js
jktantan4 小时前
(二)Vue 3 的 attrs 不是响应式:el-form 扩展属性同步的三种方案
前端·javascript·vue.js·element-plus
Highcharts.js7 小时前
Highcharts 集成到 React 或 Vue 项目中时,如何高效地使用 TypeScript技巧?
vue.js·人工智能·react.js·typescript·前端框架·highcharts
Java后端的Ai之路16 小时前
CAS并发控制-从CPU指令到企业级乐观锁
vue.js·人工智能·python·cas·乐观锁
jktantan1 天前
每个节点 41 字节:把一棵百万节点树拆进 14 个 typed array
前端·javascript·vue.js·算法·typescript
小大宇1 天前
Vue知识点-ElementPlus-06 单选+多选+下拉+日期选择
前端·vue.js·elementui
小大宇1 天前
Vue知识点-ElementPlus-05 输入框
前端·javascript·vue.js
软件技术NINI1 天前
基于SpringBoot和Vue的摇滚乐鉴赏网站
vue.js·spring boot·后端·spring·html·毕业设计·毕设
计算机毕设定制辅导-无忧学长1 天前
《基于物品协同过滤的闲置书换购微信小程序设计开发》
java·vue.js·spring boot·微信小程序·uniapp·闲置书换购微信小程序·物品协同过滤算法
Dwzun1 天前
基于SpringBoot3+Vue3的油莎豆种植管理系统
java·前端·vue.js·spring boot·后端·python·计算机网络