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

vue3+vite+ts 发布npm 组件包

1.创建项目

npm create vite@latest my-vue-ts-component -- --template vue-ts

可以强制把它变成公开包,发布
npm publish --access public

查看已发布包的元数据

npm view @zhy/map-utils

显示你当前 npm 客户端登录的「用户名」

npm whoami

2. 禁用 allowImportingTsExtensions


如果你不需要强制要求导入路径以 .ts 结尾,可以在 tsconfig.json 中禁用这个选项:
{
"compilerOptions": {
"allowImportingTsExtensions": false
}
}

3.配置 Vite 打包为组件库模式

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import path from 'path';

export default defineConfig({
plugins: [vue()],
build: {
lib: {
entry: path.resolve(__dirname, 'src/index.ts'),
name: 'MyVueTsComponent',
fileName: (format) => `my-vue-ts-component.${format}.js`,
},
rollupOptions: {
external: ['vue'],
output: {
globals: {
vue: 'Vue',
},
},
},
},
});

4.确保 package.json 文件包含以下字段

{
"name": "@your-username/my-vue-ts-component",
"version": "1.0.0",
"description": "A Vue 3 + TypeScript component template",
"main": "./dist/my-vue-ts-component.umd.cjs",
"module": "./dist/my-vue-ts-component.es.js",
"files": [
"dist"
],
"peerDependencies": {
"vue": "^3.0.0"
},
"scripts": {
"build": "vue-tsc && vite build"
}
}

http://www.dtcms.com/a/360577.html

相关文章:

  • 查看所有装在c盘软件的方法
  • [知识点记录]SQLite 数据库和MySQL 数据库有什么区别?
  • DuckDB 内嵌分析:ABP 的「本地 OL盘快照」
  • 福彩双色球第2025100期号码推荐
  • 福彩双色球第2025100期数据统计
  • 吴恩达机器学习作业十一:异常检测
  • Docker 容器(二)
  • 机器视觉学习-day15-图像轮廓特征查找
  • Wi-Fi技术——OSI模型
  • 深度学习量化双雄:PTQ 与 QAT 的技术剖析与实战
  • 开源协作白板 – 轻量级多用户实时协作白板系统 – 支持多用户绘图、文字编辑、图片处理
  • globals() 小技巧
  • C++ 模板全览:从“非特化”到“全特化 / 偏特化”的完整原理与区别
  • Prometheus之启用--web.enable-remote-write-receiver
  • 基于muduo库的图床云共享存储项目(三)
  • 前端常见安全问题 + 防御方法 + 面试回答
  • 「数据获取」《中国工会统计年鉴》(1991-2013)(获取方式看绑定的资源)
  • 【人工智能99问】Qwen3简介(33/99)
  • 浅析NVMe协议:DIF
  • 多线程使用场景一(es数据批量导入)
  • 林曦词典|老死不相往来
  • 洛谷p2392kkksc03考前临时抱佛脚 详解(回溯,深度搜索法)
  • 大模型参数到底是什么?
  • CUDA与图形API的深度互操作:解锁GPU硬件接口的真正潜力
  • C++内存序不迷茫:从CPU缓存一致性理解Memory Order
  • 如何将剪贴板内容存为文件?Paste As File支持文本/图片转换
  • 批处理脚本操作 JSON 文件
  • centos7挂载iscis存储操作记录
  • Java学习笔记(前言:开发环境配置)
  • 五分钟聊一聊AQS源码