Vue3+Vite项目自动导入配置 // import {ref, reactive, ......} from “vue“ 遇到的问题

本文介绍了在Vue3和Vite项目中使用unplugin-auto-import插件自动导入Vue API,如ref和reactive,以及如何解决typescript和eslint报错的问题。配置过程包括在vite.config.js和tsconfig.json中的设置,以及调整eslint配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、配置 unplugin-auto-import 插件,实现 // import {ref, reactive, …} from “vue” 自动引入

1.安装 unplugin-auto-import 插件

npm i unplugin-auto-import -D

2.在 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, toRef 等
      imports: ['vue', 'vue-router'],
    }),
  ],
});

配置完成,这样在每个 vue 页面都不需要手动配置 import {ref, reactive, …} from “vue” 了。但是还会遇到 ts, eslint 不识别而导入报错的问题。

3. typescript 报错:‘reactive’ is not defined.

原因:TS 未识别到 vue api,没有相应的模块声明文件
处理:在 vite 中配置并生成 auto-imports.d.ts ,并在 tsconfig.json 中引入

vite.config.js

// vite.config.js
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
      import: ['vue'],
      // 生成自动导入的TS声明文件
       dts: "/auto-import.d.ts", 
    }),
  ],
});

tsconfig.json

// tsconfig.json
{
     "include": [
        "src/**/*.d.ts",
        "./*.d.ts",
        "./auto-imports.d.ts" // 导入上一步生成的配置文件
      ],
}

4. eslint 无法识别报错 error ‘reactive’ is not defined no-undef

原因:未配置自动导入相应的 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

// .eslintrc.js
extends: [
   "./.eslintrc-auto-import.json",
 ],

完成

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值