长佩文学网免费阅读
64.69MB · 2025-09-29
大家好,我是奈德丽
在使用 Vue3 + Vite 的项目中,unplugin-vue-components
是一个非常实用的插件,它可以 自动按需导入组件,免去手动 import 的麻烦。同时,它会生成一个 components.d.ts
文件,为 TypeScript 提供全局组件类型提示。
不过,很多团队会遇到一个问题:
本文就来分享一个 完整、优雅的解决方案。
为什么我会这么反感?
每次用到新组件,它都会自动更新一次,奈何我这项目就是一个javascript项目,typescript都没用到,我不喜欢在js项目里看到ts文件,你给我生成一个components.d.ts,而且我压根就不想去提交这个文件的更新
在 .gitignore
中添加:
# 忽略自动生成的组件类型声明
src/components.d.ts
执行:
git rm --cached src/components.d.ts
解释:
--cached
表示 只从 Git 索引中删除git add .gitignore
git commit -m "chore: 忽略自动生成的 components.d.ts"
git push
完成后:
components.d.ts
在vite.config.js中可以增加对Components的配置,有一个dts属性,可以指定components.d.ts的生成目录,如果不设置的化,默认会自动生成到根目录下
可以把类型文件生成到 node_modules/.types
,彻底不提交:
Components({
dts: 'node_modules/.types/components.d.ts',
})
node_modules
项目配置图及效果如图
像我们项目没有用到typescript,所以可以直接选择关闭类型生成
Components({
dts: false, // 不生成 d.ts 文件
})
components.d.ts
是 类型声明文件,不影响运行时