当前位置: 首页 > news >正文

vue3+vite 部署npm 包

公司需要所以研究了一下怎么部署安装,比较简单

先下载个vue项目

不用安准路由,pinna 啥的,只需要一个最简单的模版
删掉App.vue 中的其它组件

 npm create vue@latest    
开始写自定义组件

在这里插入图片描述

新建一个el-text 组件, name是重点,vue3中也得这么导出name属性

<script>
export default {name: 'elText',
}
</script>
<template><div>我是一个text组件{{ title }}<button @click="handleClick">按钮</button></div>
</template>
<script setup>
import {ref} from 'vue'
let title = ref('123')
let handleClick = () => {title.value = '我的test'
}
</script>

新建index.js 导出自己写的组件

import elText from './el-text.vue'const comment = [elText]const install = function (App) {comment.forEach((item) => {App.component(item.name, item)})
}
// 判断是否直接引入文件,如果是,就不用调用Vue.use()
if (typeof window !== 'undefined' && window.Vue) {install(window.Vue)
}
export default install
测试自己写的组件有没有问题

在这里插入图片描述
在这里插入图片描述

vite 打包配置

name 名自己起就行了

import {fileURLToPath, URL} from 'node:url'import {defineConfig} from 'vite'
import vue from '@vitejs/plugin-vue'
import path from 'node:path'// https://vite.dev/config/
export default defineConfig({plugins: [vue()],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url)),},},build: {lib: {entry: path.resolve(__dirname, './src/components/index.js'),name: 'smart-process',fileName: 'process',},rollupOptions: {external: ['vue'],output: {globals: {vue: 'Vue',},},},},
})

配置完成后执行 npm run build

配置package.json

privite 必须是false,文件地址也要写对
在这里插入图片描述

npm 发布

npm 网址

前提: npm 代理地址要用 npm(官方镜像)
在这里插入图片描述

npm login 
// 登录成功后
npm publish

在这里插入图片描述

使用
新建一个vue项目
npm i smart-process

引入我自己部署的插件并使用
在这里插入图片描述
这里直接使用在smart-process 中开发的el-text组件
在这里插入图片描述
效果图

在这里插入图片描述

http://www.lryc.cn/news/469648.html

相关文章:

  • 华为鸿蒙HarmonyOS应用开发者高级认证视频及题库答案
  • 【计网】从零开始认识IP协议 --- 认识网络层,认识IP报头结构
  • 大一物联网要不要转专业,转不了该怎么办?
  • LeetCode题练习与总结:4的幂--342
  • ubuntu GLEW could not be initialized : Unknown error
  • 51c~目标检测~合集1
  • 前端工程化面试题
  • 【Visual Studio】下载安装 Visual Studio Community 并配置 C++ 桌面开发环境的图文教程
  • 010Editor:十六进制编辑器
  • Vscode中Github Copilot无法使用
  • <项目代码>YOLOv8表情识别<目标检测>
  • 利用Msfvenom实现对Windows的远程控制
  • Java Iterator和for区别详解和常见问题及解决方式
  • 川渝地区软件工程考研择校分析
  • 快捷键记忆
  • Flutter鸿蒙next 状态管理高级使用:深入探讨 Provider
  • JMeter实战之——模拟登录
  • 智能台灯设计(一)原理图设计
  • 数据库查询返回结果集及其元数据信息:ResultSet 和 ResultSetMetaData 深度解析
  • 2.插入排序(斗地主起牌)
  • 漫谈编程小白如何成为大神:夯实基础,开启通神之路
  • 基于机器学习的个性化电影推荐系统【源码+安装+讲解+售后+文档】
  • 企业如何配合好等级保护测评工作?
  • Could not find artifact cn.hutool:hutool-all:jar:8.1 in central 导入Hutool报错
  • 【功能安全】汽车功能安全个人认证证书
  • axios直接上传binary
  • 量化交易API接口是什么?如何申请和应用?
  • 语义分割:YOLOv11的分割模型训练自己的数据集(从代码下载到实例测试)
  • Python爬虫:从入门到精通
  • Web组态软件