背景
unplu gin -auto -i mport :为 V IT e、Webpack、Rollup 和 esbuild 按需自动导入 API 。支持 Ty PE Script。
unplugin-vue- component s :Vue 的 按需组件自动导入 。
这两个插件都是涉及到 按需自动导入 ,所以我们在使用 Vue 和其对应的 组件之类时,都可能会需要这两个插件的帮助,帮助我们实现 按需自动导入 ,避免全量引入的 尴尬 以及每个文件都要手动导入 API 的低效重复搬砖。
但是,在项目中使用 unplugin-auto-import 和 unplugin-vue-components 总会遇到的一些问题,在此特意汇总如下,以及提供最后的解决办法,希望帮助到有需要的人。
安装
首先就是安装,为啥推荐使用 pnpm ,在此就不赘述了(可自行去 了解 )。
pnpm add -D unplugin-auto-import pnpm add -D unplugin-vue-components
vite 版本
修改 vite. config .ts 文件内容,在此以 ElementPlusResolver 为例 ,其他组件类同。
import AutoImport From 'unplugin-auto-import/vite'
import Components f rom 'unplugin-vue-components/vite'
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
AutoImport({
imports: ["vue", "vue-router"],
resolvers: [ElementPlusResolver()],
}),
Components({
resolvers: [ElementPlusResolver()],
}),
问题1:自动导入的依然 eslint 报错
现象 :使用 过程中 会自动引入 Vue 相关组合 Api,是起作用的,但是 eslint 却报错,让人很不舒服。
分析 :起作用表示导入是 正常 可以用的,那么就是 eslint 的问题。但是怎么解决呢?是不是 半 天苦苦无果?
解决办法 :
在刚才的 vite.config.ts 文件中修改:
AutoImport({
imports: ["vue", "vue-router"],
resolvers: [ElementPlusResolver()],
// 新增如下
dts: "src/auto-import.d.ts",
eslintrc: {
enabled: true
},
}),
eslintrc 中 enabled 设置为 true,保存之后会随即在跟目录下生成 .eslintrc-auto-import. JSON 文件。
{
"globals": {
"EffectScope": true,
"computed": true,
"createApp": true,
"customRef": true,
" define AsyncComponent": true,
"defineComponent": true,
"effectScope": true,
"get current Instance": true,
"getCurrentScope": true,
"h": true,
"inject": true,
"is Proxy ": true,
"isReactive": true,
"isReadonly": true,
"isRef": true,
"markRaw": true,
"nextTick": true,
"onActivated": true,
"onBefore mount ": true,
"onBeforeRouteLeave": true,
"onBeforeRouteUpdate": true,
"onBeforeUnmount": true,
"onBeforeUpdate": true,
"onDeactivated": true,
"onErrorCaptu red ": true,
"onMounted": true,
"onRenderTracked": true,
"onRenderTriggered": true,
"onScopeDispose": true,
"onServer PR efetch": true,
"onUnmounted": true,
"onUpdated": true,
"provide": true,
"reactive": true,
"readonly": true,
"ref": true,
"resolveComponent": true,
"resolveDirective": true,
"shallowReactive": true,
"shallowReadonly": true,
"shallowRef": true,
"toRaw": true,
"toRef": true,
"toRefs": true,
"triggerRef": true,
"unref": true,
"useAttrs": true,
"useCssModule": true,
"useCss VAR s": true,
"useLink": true,
"useRoute": true,
"useRouter": true,
"useSlots": true,
"watch": true,
"watchEffect": true,
"watchPostEffect": true,
"watchSyncEffect": true
}
}
然后将这个文件引入 .eslintrc.cjs
extends: [
// .. .
'./.eslintrc-auto-import.json'
]
到此,该问题就完美解决了。
问题2: 自动生成的 components.d.ts 文件内容有报错
解决办法:
修改 .d.ts 文件生成目录
Components({
resolvers: [ElementPlusResolver()],
// 新增如下
dts: 'src/components.d.ts'
}),
到此该问题也就 完美解决了。
最后
希望大家如果遇到上述问题,可以在掘金里边搜到这里的解决办法,帮助到大家。
同时如果大家项目中遇到其他什么问题,也可以在一起讨论找解决办法,更多关于unplugin-auto-import unplugin-vue-components的资料请关注其它相关 文章 !
您可能感兴趣的文章: unplugin-auto-import的配置以及eslint报错解决详解 vue3+vite引入插件unplugin-auto-import的方法 vue3中unplugin-auto-import自动引入示例代码 vue开发利器之unplugin-auto-import的使用
总结
以上是 为你收集整理的 unplugin-auto-import与unplugin-vue-components安装问题解析 全部内容,希望文章能够帮你解决 unplugin-auto-import与unplugin-vue-components安装问题解析 所遇到的问题。
如果觉得 网站内容还不错, 推荐好友。
查看更多关于unplugin-auto-import与unplugin-vue-components安装问题解析的详细内容...