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

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.kler.cn/news/367140.html

相关文章:

  • node集成redis (教学)
  • Spring Boot技术在厨艺交流平台中的创新应用
  • JavaScript 第26章:Angular 基础
  • 10-1.idea中的项目结构,辅助快捷键,模块的操作
  • OpenCV未定义标识符CV_XXX
  • AndroidStudio新建Native项目报错[CXX1429]
  • BitNet: Scaling 1-bit Transformers for Large Language Models
  • BUG-mmdet解析数据时候,TypeError: expected dtype object, got ‘numpy.dtype[bool_]‘
  • C++的const关键字
  • ELK收集nginx日志
  • 【Java基础】2、Java基础语法
  • Spring Boot实现的动态化酒店住宿管理系统
  • SQLite 数据库设计最佳实践
  • 在服务器启动docker容器卡住、无启动成功信息,docker ps一a状态码137
  • Flutter杂学: iOS 上启用自动填充和关联域
  • Rust 中的条件变量:深入解析与实践
  • TensorFlow面试整理-模型部署与优化
  • 练习LabVIEW第二十题
  • Kafka相关API开发
  • sass软件登录设定——未来之窗行业应用跨平台架构
  • [论文笔记]ColPali: Efficient Document Retrieval with Vision Language Models
  • 使用kubeadm安装k8s1.24高可用集群
  • C++标准模板库--list
  • Spring MVC 为什么是 MVC 而不是 MVP
  • H3m-Blog
  • ctfshow(55,56)--RCE/命令执行漏洞--无字母RCE与强制文件上传RCE