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

向npm发布自己写的vue组件,使用vite创建项目

向npm发布自己写的vue组件,使用vite创建项目

创建项目

pnpm create vite

输入项目名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

由于我的组件是基于 ant-design-vue和vue的,需要解析.vue文件,我又安装了下面4个。

然后执行 pnpm i安装依赖

vite.config.ts

import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
export default defineConfig({plugins: [vue(),],build: {lib: {entry: './lib/main.ts',name: 'aixiaodou-ui', // 需要和你的项目名称一致fileName: 'aixiaodou-ui'// 需要和你的项目名称一致},rollupOptions:{external:['vue'],output:{format:'umd',exports:'named',globals:{vue:'Vue'},},},minify:'terser',terserOptions: {compress: {drop_console: true, // 生产环境下去除consoledrop_debugger: true, // 生产环境下去除debugger}}}
})

package.json

{"name": "aixiaodou-ui","private": false, // 设置为false"version": "0.0.5", // 版本号,每次推送需加1,不能和已推送的相同"type": "module","files": [ // 设置要推送的文件,我把源码lib也推送了"dist","index.d.ts","lib"],"main": "./dist/aixiaodou-ui.umd.cjs", // 需要和你的项目名称一致"module": "./dist/aixiaodou-ui.js", // 需要和你的项目名称一致"types": "./index.d.ts","exports": {"types": "./index.d.ts","import": "./dist/aixiaodou-ui.js", // 需要和你的项目名称一致"require": "./dist/aixiaodou-ui.umd.cjs" // 需要和你的项目名称一致},"scripts": {"dev": "vite","build": "tsc && vite build"},"devDependencies": {"@vitejs/plugin-vue": "^5.0.4","terser": "^5.31.0","typescript": "^5.4.5","vite": "^5.2.10"},"dependencies": {"@ant-design/icons-vue": "^7.0.1","ant-design-vue": "^4.2.1","vue": "^3.4.27"}
}

修改 index.d.ts

利于编译器提示
在这里插入图片描述

打包构建

构建成功后会生成dist目录

pnpm build

登录npm

登录注册账号 https://www.npmjs.com/

设置 npm源

也可以使用nrm切换

npm config set registry=https://registry.npmjs.org

登录npm

npm login

根据提示,输入用户名,输入密码 进行登录

发布

npm publish

发布成功后可以在npm网站内看到
在这里插入图片描述

发布成功后就可以使用npm命令进行安装使用了
npm i -S aixiaodou-ui

相关文章:

  • 一个生动的例子——通过ERC20接口访问Tether合约
  • 继电器的选型和英应用
  • 【Linux系统】--- Linux内核日志等级详解
  • 【Python001】python批量下载、插入与读取Oracle中图片数据(已更新)
  • mysql中的内连接与外连接
  • 新火种AI|寻求合作伙伴,展开豪赌,推出神秘AI项目...苹果能否突破AI困境?
  • 【busybox记录】【shell指令】mkdir
  • K8s service 进阶
  • windows 执行node报错 800A1391
  • 技术架构设计指南:从需求到实现
  • VSCODE终端输出中文乱码 菱形问号?
  • ehcache3的使用
  • URL在线编码解码
  • 各大翻译软件代码——浔川AI翻译研发社团
  • 华为校招机试 - LRU模拟(20240515)
  • __proto__ 和 prototype的关系
  • Angular 响应式表单之下拉框
  • avalon2.2的VM生成过程
  • CentOS7简单部署NFS
  •  D - 粉碎叛乱F - 其他起义
  • Git同步原始仓库到Fork仓库中
  • HTTP那些事
  • JDK9: 集成 Jshell 和 Maven 项目.
  • Js基础知识(一) - 变量
  • PHP 小技巧
  • Redash本地开发环境搭建
  • Redis在Web项目中的应用与实践
  • v-if和v-for连用出现的问题
  • vue和cordova项目整合打包,并实现vue调用android的相机的demo
  • webpack入门学习手记(二)
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 浅谈web中前端模板引擎的使用
  • 追踪解析 FutureTask 源码
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • # AI产品经理的自我修养:既懂用户,更懂技术!
  • #### go map 底层结构 ####
  • #LLM入门|Prompt#2.3_对查询任务进行分类|意图分析_Classification
  • #我与Java虚拟机的故事#连载04:一本让自己没面子的书
  • #我与Java虚拟机的故事#连载15:完整阅读的第一本技术书籍
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (C语言)输入一个序列,判断是否为奇偶交叉数
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (力扣)循环队列的实现与详解(C语言)
  • (十六)Flask之蓝图
  • (原創) 物件導向與老子思想 (OO)
  • (转载)(官方)UE4--图像编程----着色器开发
  • .NET gRPC 和RESTful简单对比
  • .NET成年了,然后呢?
  • .NET委托:一个关于C#的睡前故事
  • @RestControllerAdvice异常统一处理类失效原因
  • [16/N]论得趣
  • [20161101]rman备份与数据文件变化7.txt
  • [20170705]diff比较执行结果的内容.txt
  • [2021 蓝帽杯] One Pointer PHP