1:ERROR: ‘ref’ is not defined
// vite.config.ts
import AutoImport from 'unplugin-auto-import/vite'
AutoImport({
imports: [
'vue',
// "vue-router"
],
dts: 'src/types/auto-import.d.ts', // 路径下自动生成文件夹存放全局指令
// eslint报错解决
eslintrc: {
enabled: false, // Default `false`
filepath: './src/types/.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
},
}),
// .eslintrc.js
module.exports = {
extends: [
'eslint:recommended',
'plugin:vue/vue3-essential',
'plugin:@typescript-eslint/recommended',
'plugin:import/recommended',
'./src/types/.eslintrc-auto-import.json',
'prettier', // 来自 eslint-config-prettier,一定放在最后 @see https://github.com/prettier/eslint-config-prettier#readme
],
}
2:找不到模块或其相应的类型声明
在项目根目录或 src 文件夹下找到env.d.ts(或者自己新建一个),并写入以下内容:
// env.d.ts
/// <reference types="vite/client" />
// 简单版本
// declare module '*.vue'
// 推荐使用
declare module '*.vue' {
// 引入vue模块中ts的方法
import type { DefineComponent } from 'vue'
// 定义vue组件以及类型注解
const component: DefineComponent<{}, {}, any>
export default component
}
ESlint 会报错,在eslintrc.cjs中添加(粗暴的做法~~)
// eslintrc.cjs
ignorePatterns: ['/src/types/env.d.ts'],