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

unplugin-dts完整指南:从vite-plugin-dts迁移到通用插件

unplugin-dts完整指南从vite-plugin-dts迁移到通用插件【免费下载链接】unplugin-dtsAn unplugin for generating declaration (dts) files.项目地址: https://gitcode.com/gh_mirrors/vi/unplugin-dtsunplugin-dts是一款功能强大的通用插件用于生成TypeScript声明文件*.d.ts支持Vite、Rollup、Rolldown、Webpack、Rspack和Esbuild等多种构建工具。它是vite-plugin-dts的升级版将核心逻辑提取为独立的unplugin同时保持vite-plugin-dts作为兼容性层存在。为什么选择unplugin-dtsunplugin-dts带来了多项重要改进使其成为生成TypeScript声明文件的理想选择多构建工具支持不再局限于Vite现在可以在Rollup、Rolldown、Webpack、Rspack和Esbuild中使用更强大的配置选项提供了更灵活的输出目录配置、自定义路径别名等功能优化的性能内部重构带来了更好的性能表现更好的Vue支持改进了Vue文件的类型处理安装与基本配置安装步骤根据你的项目类型选择合适的安装命令# Vite项目兼容性模式仍可使用vite-plugin-dts pnpm i -D vite-plugin-dts # Vite项目推荐直接使用unplugin-dts pnpm i -D unplugin-dts # Rollup/Rolldown/Webpack/Rspack/Esbuild项目 pnpm i -D unplugin-dts # 使用bundleTypes功能时 pnpm i -D microsoft/api-extractor # Vue项目 pnpm i -D vue/language-core基本配置示例不同构建工具的导入方式略有不同// Vite import dts from unplugin-dts/vite // Rollup import dts from unplugin-dts/rollup // Rolldown import dts from unplugin-dts/rolldown // Webpack import dts from unplugin-dts/webpack // Rspack import dts from unplugin-dts/rspack // Esbuild import dts from unplugin-dts/esbuild // 配置示例以Vite为例 export default defineConfig({ plugins: [dts()] })从vite-plugin-dts迁移的关键变化包导入路径变更vite-plugin-dts v4与unplugin-dts v5的导入方式对比// v4 (vite-plugin-dts) import dts from vite-plugin-dts // v5 (兼容模式仍可使用) import dts from vite-plugin-dts // v5 (推荐直接使用unplugin-dts) import dts from unplugin-dts/vite配置选项变化最主要的变化是rollupTypes重命名为bundleTypes并将相关配置项整合// v4 dts({ rollupTypes: true, bundledPackages: [vue], rollupConfig: { /* ... */ }, rollupOptions: { /* ... */ }, outDir: dist }) // v5 dts({ bundleTypes: { bundledPackages: [vue], extractorConfig: { /* ... */ }, // 原rollupConfig invokeOptions: { /* ... */ }, // 原rollupOptions configPath: ./api-extractor.json // 新增配置文件路径 }, outDirs: dist // 原outDir重命名为outDirs })outDirs的增强功能v5的outDirs支持更丰富的配置可以指定多个输出目录和模块格式dts({ outDirs: [ dist, // 默认生成.d.ts文件 { dir: dist-cjs, moduleFormat: cjs }, // 生成.d.cts文件 { dir: dist-esm, moduleFormat: esm } // 生成.d.mts文件 ] })新增的processor选项v5引入了processor选项来控制TypeScript程序的创建方式dts({ processor: vue // 或ts默认 })未指定时插件会自动检测源文件中是否有.vue文件如有则自动使用vue处理器纯TypeScript项目保持默认的ts即可Vue项目需要单独安装vue/language-core自定义路径别名除了从tsconfig.json自动解析别名外v5还允许直接传递自定义别名dts({ aliases: [ { find: /^\//, replacement: ./src/ }, { find: old-pkg, replacement: new-pkg } ] })迁移步骤与示例步骤1安装新依赖# 卸载旧版vite-plugin-dts如已安装 pnpm remove vite-plugin-dts # 安装unplugin-dts pnpm i -D unplugin-dts # 如果使用bundleTypes功能 pnpm i -D microsoft/api-extractor # 如果是Vue项目 pnpm i -D vue/language-core步骤2更新导入路径// vite.config.ts // 从 import dts from vite-plugin-dts // 改为 import dts from unplugin-dts/vite步骤3更新配置选项// vite.config.ts export default defineConfig({ plugins: [ dts({ // 替换 rollupTypes: true 为 bundleTypes: true, // 替换 outDir: dist 为 outDirs: dist, // 如果有自定义rollup配置 bundleTypes: { // 替换 rollupConfig 为 extractorConfig extractorConfig: { /* ... */ }, // 替换 rollupOptions 为 invokeOptions invokeOptions: { /* ... */ }, // 可选添加配置文件路径 configPath: ./api-extractor.json }, // 移除 logLevel 选项 // logLevel: info // v4的选项v5已移除 }) ] })完整迁移示例Vite项目迁移// vite.config.ts (迁移前) import { defineConfig } from vite import dts from vite-plugin-dts export default defineConfig({ plugins: [ dts({ rollupTypes: true, rollupConfig: { // 一些rollup配置 }, outDir: dist, logLevel: info }) ] }) // vite.config.ts (迁移后) import { defineConfig } from vite import dts from unplugin-dts/vite export default defineConfig({ plugins: [ dts({ bundleTypes: { extractorConfig: { // 一些rollup配置 } }, outDirs: dist }) ] })Rollup项目迁移// rollup.config.mjs (迁移后) import typescript from rollup/plugin-typescript import dts from unplugin-dts/rollup export default { input: ./src/index.ts, output: { dir: dist, format: esm }, plugins: [ typescript(), dts({ bundleTypes: true, outDirs: dist }) ] }常见问题与解决方案问题1Vue项目类型生成不正确解决方案确保安装了vue/language-core并显式设置processordts({ processor: vue })问题2声明文件未复制到输出目录解决方案v5中copyDtsFiles选项的默认值因构建工具而异如遇问题可显式设置dts({ copyDtsFiles: true // 显式启用复制 })问题3找不到microsoft/api-extractor解决方案使用bundleTypes功能时需要手动安装pnpm i -D microsoft/api-extractor总结unplugin-dts作为vite-plugin-dts的升级版带来了多构建工具支持、更强大的配置选项和更好的性能。迁移过程主要涉及包安装、导入路径更新和配置选项调整。通过本文档的指南你可以轻松完成从vite-plugin-dts到unplugin-dts的迁移并充分利用其新特性。更多详细信息请参考官方文档使用说明配置选项常见问题迁移指南【免费下载链接】unplugin-dtsAn unplugin for generating declaration (dts) files.项目地址: https://gitcode.com/gh_mirrors/vi/unplugin-dts创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关文章:

unplugin-dts完整指南:从vite-plugin-dts迁移到通用插件

unplugin-dts完整指南:从vite-plugin-dts迁移到通用插件 【免费下载链接】unplugin-dts An unplugin for generating declaration (dts) files. 项目地址: https://gitcode.com/gh_mirrors/vi/unplugin-dts unplugin-dts是一款功能强大的通用插件&#xff0c…...

GEO工具红黑榜:有的在“监测“,有的在“收智商税“

2026年,AI搜索已承接超过40%的传统搜索查询量,品牌面临的不再是"百度一下"的竞价排名,而是AI助手直接给出的"默认答案"。当用户问ChatGPT"推荐一款面霜"或向豆包询问"哪个在线教育平台更好"时&#…...

如何用Playnite打造你的终极游戏库:统一管理Steam、Epic、GOG等20+平台游戏

如何用Playnite打造你的终极游戏库:统一管理Steam、Epic、GOG等20平台游戏 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your gam…...

Open Generative AI Workflow Studio深度解析:可视化AI工作流构建教程

Open Generative AI Workflow Studio深度解析:可视化AI工作流构建教程 【免费下载链接】Open-Generative-AI Open-source alternative to AI video platforms — Free AI image & video generation studio with 200 models (Flux, Midjourney, Kling, Sora, Veo…...

如何用Playnite打造终极游戏库:统一管理20+平台游戏

如何用Playnite打造终极游戏库:统一管理20平台游戏 【免费下载链接】Playnite Video game library manager with support for wide range of 3rd party libraries and game emulation support, providing one unified interface for your games. 项目地址: https:…...

天学网英语听力对孩子有用吗?2026最新真实测评结果告诉你

做了5年英语听力领域的技术研究,最近后台好多家长问我这类AI听力训练产品对孩子提分有没有用,刚好我们团队刚做完2026年的公立校落地测评,今天就客观给大家拆解清楚。先聊聊英语听力训练的行业共性痛点我们团队在实践中发现,现在国…...

ViGEmBus虚拟手柄驱动深度解析与实战指南

ViGEmBus虚拟手柄驱动深度解析与实战指南 【免费下载链接】ViGEmBus Windows kernel-mode driver emulating well-known USB game controllers. 项目地址: https://gitcode.com/gh_mirrors/vi/ViGEmBus 你是否曾经遇到过这样的困境:手头有一款独特的游戏控制…...

JDeferred入门教程:从零开始构建高效异步Java应用

JDeferred入门教程:从零开始构建高效异步Java应用 【免费下载链接】jdeferred Java Deferred/Promise library similar to JQuery. 项目地址: https://gitcode.com/gh_mirrors/jd/jdeferred 想要掌握Java异步编程的终极秘诀吗?JDeferred库为您提供…...

2026学生背单词软件实测,这5款真心好用不踩坑

过去几年我们团队在帮助不同学段学生提升词汇量时,踩过不少坑:有的工具背词效率还行,但同步一塌糊涂;有的界面酷炫,算法推荐却毫无个性,仿佛在用十年前的技术。市面上背单词软件看似饱和,真正能…...

Meteor-Ionic 模态框和弹出层:创建优雅的用户交互体验

Meteor-Ionic 模态框和弹出层:创建优雅的用户交互体验 【免费下载链接】meteor-ionic Ionic components for Meteor. No Angular! 项目地址: https://gitcode.com/gh_mirrors/me/meteor-ionic Meteor-Ionic 是一个专为 Meteor 框架设计的 Ionic 组件库&#…...

华硕笔记本性能控制终极指南:用GHelper告别臃肿,拥抱高效

华硕笔记本性能控制终极指南:用GHelper告别臃肿,拥抱高效 【免费下载链接】g-helper Lightweight Armoury Crate alternative for Asus laptops with nearly the same functionality. Works with ROG Zephyrus, Flow, TUF, Strix, Scar, ProArt, Vivoboo…...

如何快速配置大麦抢票自动化工具:5个步骤实现高效网络诊断与抓包分析

如何快速配置大麦抢票自动化工具:5个步骤实现高效网络诊断与抓包分析 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 你是否曾因大麦网抢…...

PET模型完全指南:如何利用完形填空问题实现少样本文本分类与自然语言推理

PET模型完全指南:如何利用完形填空问题实现少样本文本分类与自然语言推理 【免费下载链接】pet This repository contains the code for "Exploiting Cloze Questions for Few-Shot Text Classification and Natural Language Inference" 项目地址: htt…...

别再只看benchmark!Claude的“类人延迟响应”背后藏着7种语境锚定策略

更多请点击: https://intelliparadigm.com 第一章:类人延迟响应的本质:为什么“慢”才是更高级的智能 人类在面对复杂问题时,并非即时作答,而是经历感知、检索、权衡、修正等多阶段认知循环——这种可观察的“延迟”&…...

从0到1搭建AI Agent测试平台:Kubernetes+Ray+Prometheus+自研TraceDiff引擎,支撑日均50万次多模态交互验证

更多请点击: https://intelliparadigm.com 第一章:从0到1搭建AI Agent测试平台:KubernetesRayPrometheus自研TraceDiff引擎,支撑日均50万次多模态交互验证 为应对多模态AI Agent在真实业务场景中产生的高并发、异构轨迹与语义漂移…...

解锁KDE桌面美学:Lightly主题隐藏配置选项完全指南 [特殊字符]

解锁KDE桌面美学:Lightly主题隐藏配置选项完全指南 🎨 【免费下载链接】Lightly A modern style for qt applications. 项目地址: https://gitcode.com/gh_mirrors/lig/Lightly Lightly是一个基于Breeze主题的现代化、简约风格KDE主题&#xff0c…...

洛雪音乐音源完全指南:如何免费获取全网高品质音乐资源

洛雪音乐音源完全指南:如何免费获取全网高品质音乐资源 【免费下载链接】lxmusic- lxmusic(洛雪音乐)全网最新最全音源 项目地址: https://gitcode.com/gh_mirrors/lx/lxmusic- 作为音乐爱好者,你是否厌倦了在不同音乐平台间来回切换只为找到一首…...

人机协作新范式:高效论文写作全流程AI论文平台推荐(2026 最新)

2026年AI论文平台持续升级,论文写作全流程可拆解为文献调研→选题/开题→大纲/初稿→文献综述→降重/去AI味→润色/格式→查重/投稿七大环节,以下工具按环节精准匹配,兼顾中文适配、降重能力、去AI痕迹、学术合规四大核心需求,覆盖…...

贝叶斯压缩技术优化空间回归模型计算效率

1. 空间回归模型与贝叶斯压缩概述空间回归模型是分析地理空间数据的核心工具,它通过空间位置信息建模变量间的非平稳关系。传统方法如高斯过程回归虽然灵活,但在处理大规模数据时面临O(N)的计算复杂度瓶颈。贝叶斯数据压缩技术通过随机线性变换实现维度约…...

PDFPatcher完全指南:用免费开源工具解决PDF格式难题的5个实战技巧

PDFPatcher完全指南:用免费开源工具解决PDF格式难题的5个实战技巧 【免费下载链接】PDFPatcher PDF补丁丁——PDF工具箱,可以编辑书签、剪裁旋转页面、解除限制、提取或合并文档,探查文档结构,提取图片、转成图片等等 项目地址:…...

7个实用技巧让你快速掌握Sabaki围棋软件:从零基础到高手复盘

7个实用技巧让你快速掌握Sabaki围棋软件:从零基础到高手复盘 【免费下载链接】Sabaki An elegant Go board and SGF editor for a more civilized age. 项目地址: https://gitcode.com/gh_mirrors/sa/Sabaki Sabaki是一款优雅的围棋棋盘和SGF编辑器&#xff…...

装配骨架:每一帧重新构建简笔人物,文本围绕当前姿势环绕显示

【导语:资讯介绍了装配骨架的相关情况,包括每一帧重新构建简笔人物,文本围绕当前姿势环绕显示,还有波浪动画等视觉效果及闲置状态。】简笔人物的帧构建在装配骨架的过程中,每一帧都会依据基本的排除部分重新构建一个简…...

混合数据聚类算法实战:k-prototypes深度解析与应用

混合数据聚类算法实战:k-prototypes深度解析与应用 【免费下载链接】kmodes Python implementations of the k-modes and k-prototypes clustering algorithms, for clustering categorical data 项目地址: https://gitcode.com/gh_mirrors/km/kmodes kmodes…...

HACS极速版终极指南:告别智能家居插件下载龟速的完整解决方案

HACS极速版终极指南:告别智能家居插件下载龟速的完整解决方案 【免费下载链接】integration 🇨🇳 HACS 极速版,无需登陆Github 项目地址: https://gitcode.com/gh_mirrors/int/integration 你是否曾经为了给Home Assistant…...

jStorage核心功能详解:从基础存储到高级TTL设置

jStorage核心功能详解:从基础存储到高级TTL设置 【免费下载链接】jStorage jStorage is a simple key/value database to store data on browser side 项目地址: https://gitcode.com/gh_mirrors/js/jStorage jStorage是一个简单而强大的浏览器端键值存储数据…...

【国家级边缘AI项目总架构师内部复盘】:为什么92%的AI Agent边缘化失败?4个被忽视的实时性阈值与硬件协同校准公式

更多请点击: https://codechina.net 第一章:【国家级边缘AI项目总架构师内部复盘】:为什么92%的AI Agent边缘化失败?4个被忽视的实时性阈值与硬件协同校准公式 在2023–2024年覆盖17个省级工业物联网节点的国家级边缘AI落地验证中…...

AI Agent在制造业的隐秘革命(产线故障预测Agent首次公开技术栈)

更多请点击: https://kaifayun.com 第一章:AI Agent在制造业的隐秘革命(产线故障预测Agent首次公开技术栈) 当振动传感器每秒回传8,192点时序数据、PLC日志以毫秒级时间戳持续写入边缘缓存,传统阈值告警系统正悄然失…...

C++中多重继承详解及其作用介绍

多重继承 (multiple inheritance): 一个派生类有两个或多个基类, 派生类从两个或多个基类中继承所需的属性. C 为了适应这种情况, 允许一个派生类同时继承多个基类. 这种行为称为多重继承.优缺点优点自然地做到了对单继承的扩展可以继承多个类的功能缺点结构复杂化优先顺序模糊…...

SCI论文重复率一般得控制在多少合格?

SCI论文这个问题,先说结论:没有一个“全球统一合格线”。SCI期刊不像本科毕业论文那样,很多学校会明确卡 10%、15%、20%。SCI更看目标期刊要求。但实际经验里,大致可以这么理解:常见参考区间<10%&#xff1…...

7个革命性策略:戴森球计划工厂蓝图全生命周期管理指南

7个革命性策略:戴森球计划工厂蓝图全生命周期管理指南 【免费下载链接】FactoryBluePrints 游戏戴森球计划的**工厂**蓝图仓库 项目地址: https://gitcode.com/GitHub_Trending/fa/FactoryBluePrints 想要在戴森球计划中建立高效工厂却总是遭遇物流瓶颈&…...