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"

}

}

相关推荐
软件技术NINI27 分钟前
美妆商城html+Css+js 4页
javascript·css·html
蛋蛋的就会顺顺的29 分钟前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday35 分钟前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室44 分钟前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
码艺-Alimjan1 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床1 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a3 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台3 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk
pride.li4 小时前
第03章 Python 教程-基础语法:注释与变量
服务器·前端·后端·python·算法·计算机视觉
屏什么录4 小时前
电脑如何录屏幕视频和声音?从工具到代码,7 种方案帮你彻底搞定
前端·音视频开发