vue3 自动引入 ref reactive...

npm i unplugin-auto-import -D

vite.config.js

javascript 复制代码
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

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

tsconfig.json

javascript 复制代码
{
     "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

javascript 复制代码
{
    // ......
     AutoImport({
      imports: ["vue"],
      dts: "/auto-import.d.ts",
      eslintrc: {
        enabled: true,  // 1、改为true用于生成eslint配置。2、生成后改回false,避免重复生成消耗
      },
    }),
}

.eslintrc.js

javascript 复制代码
extends: [
   "./.eslintrc-auto-import.json",
 ],
相关推荐
ljt27249606611 小时前
Vue笔记(三)--用户交互
javascript·vue.js·笔记
Martin -Tang1 小时前
uniapp 实现录音操作,长按录音,放开取消
前端·javascript·vue.js·uni-app·css3·录音
代码煮茶2 小时前
Vue3 组件库二次封装实战 | 基于 Element Plus 封装企业级 UI 组件库
前端·javascript·vue.js
ljt27249606614 小时前
Vue笔记(四)--组件基础
前端·vue.js·笔记
天渺工作室4 小时前
把一篇老文章内容 Vibecoding 成了 npm 包
前端·vue.js·npm
南城雨落4 小时前
uni-app开发经验分享-跨端开发经验总结
javascript·vue.js·node.js
阳火锅4 小时前
🔍 别再用 Ctrl+P 了!这才是文件导航的终极解决方案
前端·javascript·vue.js
知彼解己5 小时前
从后端视角学习 Vue3:核心知识与数据流实践
javascript·vue.js·ecmascript
天渺工作室5 小时前
Vue自定义指令实现点击事件权限拦截控制的npm插件
前端·vue.js·npm