npm i unplugin-auto-import -D
vite.config.js
import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import AutoImport from 'unplugin-auto-import/vite';
export default defineConfig({
plugins: [
vue(),
AutoImport({
// 自动导入 Vue 相关函数,如:ref, reactive ...
imports: ['vue', 'vue-router'],
}),
],
});
Q?: typescript 报错:‘reactive’ is not defined.
A :?TS 未识别到 vue api,没有相应的模块声明文件,?在 vite 中配置并生成 auto-imports.d.ts ,并在 tsconfig.json 中引入
vite.config.js
export default defineConfig({
plugins: [
vue(),
AutoImport({
// 自动导入 Vue 相关函数,如:ref, reactive ...
imports: ['vue'],
// 生成自动导入的TS声明文件
dts: "/auto-import.d.ts",
}),
],
});
tsconfig.json
{
"include": [
"src/**/*.d.ts",
"./*.d.ts",
"./auto-imports.d.ts" // 导入上一步生成的配置文件
],
}
Q:?eslint 无法识别报错 error ‘reactive’ is not defined no-undef
A:?未配置自动导入相应的 eslint 规则,?通过 autoimport 中的配置生成对应 .eslintrc-auto-import.json 配置文件,并在 .eslintrc 中引入
vite.config.js
{
// ......
AutoImport({
imports: ["vue"],
dts: "/auto-import.d.ts",
eslintrc: {
enabled: true, // 1、改为true用于生成eslint配置。2、生成后改回false,避免重复生成消耗
},
}),
}
.eslintrc.js
extends: [
"./.eslintrc-auto-import.json",
],