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"

}

}

相关推荐
promiseThen2 分钟前
我用 7 条铁律管住 Cursor:让 AI 写代码不再「自由发挥」
前端·ai编程
天道kabuto16 分钟前
vue-i18n 升级 9.x 踩坑:正则表达式引发的“花括号”惨案
vue.js
梨想橙汁19 分钟前
JS 核心语法:运算符流程控制、函数、数组与对象实战详解
前端·javascript
七牛开发者19 分钟前
拆解 dsh:Turn 与 Step 如何组织 Agent 主循环
前端·javascript·人工智能
空想兔20 分钟前
前端网络请求的前世今生:从 Ajax、XHR 到 Fetch 和 Axios
javascript
梨想橙汁20 分钟前
JavaScript 零基础入门:引入方式、变量与数据类型,吃透原始与引用类型
前端·javascript
不可能片场24 分钟前
puppeteer 调试实录:CDP 双层响应让取值永远 None
前端·electron
咖啡无伴侣25 分钟前
2. 从零搭建企业级 Monorepo 工程化模板:ESLint 10 (基础骨架)+ Prettier 配置与避坑指南
前端·架构
光影少年29 分钟前
react navite实现全局弹窗、Toast 组件
前端·react native·react.js
WebInfra33 分钟前
Rslib 1.0 正式发布:面向多场景的 JavaScript 库开发工具
前端·javascript·github