前言:
vue3自动导入Api以及自定义组件
原理
- 预加载前,该插件自动 按需导入 了,在本vue文件中使用 api 和 组件
- 而 编写代码 的时候,就无需 import 了
- 注意并不是全局导入,并不会影响到资源
API自动引入
使用前后对比
<script lang="ts" setup>
import { ref } from 'vue'
let name = ref<String>('某某某')
let age = ref<String>('今年刚满18岁~~~')
</script>
<script lang="ts" setup>
let name = ref<String>('某某某')
let age = ref<String>('今年刚满18岁~~~')
</script>
步骤一:安装第三方插件unplugin-auto-import
npm i -D unplugin-auto-import
步骤二:配置vite.config
import { defineConfig } from "vite";
import AutoImport from 'unplugin-auto-import/vite'
export default defineConfig({
plugins: [
AutoImport({ imports: ['vue', 'vue-router'] }),
]
})
配置成功了就会多一个文件auto-imports.d.ts
步骤三:此时自动引入已经完成 可以使用但是编辑器内部会报错 "Cannot find name ‘ref‘."
解决方案:找到tsconfig.json文件添加下面代码
{
"include": [
"src/**/*.ts",
"src/**/*.d.ts",
"src/**/*.tsx",
"src/**/*.vue",
"auto-imports.d.ts" // 此处引入该声明文件
]
}
组件的自动引入
使用前后对比
<template>
<div class="main">
<Aside />
<Footer />
</div>
</template>
<script setup>
import Aside from '/@/components/Aside.vue'
import Footer from '/@/components/Footer.vue'
</script>
<template>
<div class="main">
<Aside />
<Footer />
</div>
</template>
<script setup></script>
步骤一:安装第三方插件unplugin-vue-components
npm i -D unplugin-vue-components
步骤二:在vite.config进行配置
import { defineConfig } from "vite";
import Components from 'unplugin-vue-components/vite' // 按需加载自定义组件
import { ElementPlusResolver, AntDesignVueResolver} from 'unplugin-vue-components/resolvers'
export default defineConfig {
plugins: [
Components({
dts: true,
dirs: ['src/components'], // 按需加载的文件夹
resolvers: [
ElementPlusResolver(), // Antd 按需加载
AntDesignVueResolver() // ElementPlus按需加载
]
})
],
}
- dirs 属性:设置自动加载 组件的文件夹 , 默认为 ’ /src/component '
- resolvers属性 :设置 UI 框架 自动加载 , 注意不要向 main.js 中 导入UI 框架
- 同时打包时 ,用多少UI组件,打包多少。