vue3插件(unplugin-auto-import自动引入的使用)

1. vite.config 文件里面

 1 import AutoImport from 'unplugin-auto-import/vite'
 2 
 3 plugins: [
 4   .......,
 5  AutoImport({
 6         include: [
 7           /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
 8           /\.vue$/,
 9           /\.vue\?vue/, // .vue
10           /\.md$/ // .md
11         ],
12         // 自动导入 Vue 相关函数,如:ref, reactive, toRef 等
13         imports: [
14           'vue',
15           'vue-router',
16           {
17             '@vueuse/core': [
18               // named imports
19               'useMouse', // import { useMouse } from '@vueuse/core',
20               // alias
21               ['useFetch', 'useMyFetch'] // import { useFetch as useMyFetch } from '@vueuse/core',
22             ],
23 
24             axios: [['default', 'axios']],
25             'await-to-js': ['to']
26           }
27         ],
28         eslintrc: {
29           enabled: true, // 是否自动生成 eslint 规则,建议生成之后设置 false
30           filepath: './.eslintrc-auto-import.json' // 指定自动导入函数 eslint 规则的文件
31         },
32         resolvers: [ElementPlusResolver()],
33         dts: path.resolve('types', 'auto-imports.d.ts') // 指定自动导入函数TS类型声明文件路径
34       })   
35 ]

重新运行项目会生成一个auto-imports.d.ts的文件

文件内容如下:

 1 /* eslint-disable */
 2 /* prettier-ignore */
 3 // @ts-nocheck
 4 // noinspection JSUnusedGlobalSymbols
 5 // Generated by unplugin-auto-import
 6 export {}
 7 declare global {
 8   const EffectScope: typeof import('vue')['EffectScope']
 9   const ElMessage: typeof import('element-plus/es')['ElMessage']
10   const ElMessageBox: typeof import('element-plus/es')['ElMessageBox']
11   const axios: typeof import('axios')['default']
12   const computed: typeof import('vue')['computed']
13   const createApp: typeof import('vue')['createApp']
14   const customRef: typeof import('vue')['customRef']
15   const defineAsyncComponent: typeof import('vue')['defineAsyncComponent']
16   const defineComponent: typeof import('vue')['defineComponent']
17   const effectScope: typeof import('vue')['effectScope']
18   const getCurrentInstance: typeof import('vue')['getCurrentInstance']
19   const getCurrentScope: typeof import('vue')['getCurrentScope']
20   const h: typeof import('vue')['h']
21   const inject: typeof import('vue')['inject']
22   const isProxy: typeof import('vue')['isProxy']
23   const isReactive: typeof import('vue')['isReactive']
24   const isReadonly: typeof import('vue')['isReadonly']
25   const isRef: typeof import('vue')['isRef']
26   const markRaw: typeof import('vue')['markRaw']
27   const nextTick: typeof import('vue')['nextTick']
28   const onActivated: typeof import('vue')['onActivated']
29   const onBeforeMount: typeof import('vue')['onBeforeMount']
30   const onBeforeRouteLeave: typeof import('vue-router')['onBeforeRouteLeave']
31   const onBeforeRouteUpdate: typeof import('vue-router')['onBeforeRouteUpdate']
32   const onBeforeUnmount: typeof import('vue')['onBeforeUnmount']
33   const onBeforeUpdate: typeof import('vue')['onBeforeUpdate']
34   const onDeactivated: typeof import('vue')['onDeactivated']
35   const onErrorCaptured: typeof import('vue')['onErrorCaptured']
36   const onMounted: typeof import('vue')['onMounted']
37   const onRenderTracked: typeof import('vue')['onRenderTracked']
38   const onRenderTriggered: typeof import('vue')['onRenderTriggered']
39   const onScopeDispose: typeof import('vue')['onScopeDispose']
40   const onServerPrefetch: typeof import('vue')['onServerPrefetch']
41   const onUnmounted: typeof import('vue')['onUnmounted']
42   const onUpdated: typeof import('vue')['onUpdated']
43   const provide: typeof import('vue')['provide']
44   const reactive: typeof import('vue')['reactive']
45   const readonly: typeof import('vue')['readonly']
46   const ref: typeof import('vue')['ref']
47   const resolveComponent: typeof import('vue')['resolveComponent']
48   const shallowReactive: typeof import('vue')['shallowReactive']
49   const shallowReadonly: typeof import('vue')['shallowReadonly']
50   const shallowRef: typeof import('vue')['shallowRef']
51   const to: typeof import('await-to-js')['to']
52   const toRaw: typeof import('vue')['toRaw']
53   const toRef: typeof import('vue')['toRef']
54   const toRefs: typeof import('vue')['toRefs']
55   const toValue: typeof import('vue')['toValue']
56   const triggerRef: typeof import('vue')['triggerRef']
57   const unref: typeof import('vue')['unref']
58   const useAttrs: typeof import('vue')['useAttrs']
59   const useCssModule: typeof import('vue')['useCssModule']
60   const useCssVars: typeof import('vue')['useCssVars']
61   const useLink: typeof import('vue-router')['useLink']
62   const useMouse: typeof import('@vueuse/core')['useMouse']
63   const useMyFetch: typeof import('@vueuse/core')['useFetch']
64   const useRoute: typeof import('vue-router')['useRoute']
65   const useRouter: typeof import('vue-router')['useRouter']
66   const useSlots: typeof import('vue')['useSlots']
67   const watch: typeof import('vue')['watch']
68   const watchEffect: typeof import('vue')['watchEffect']
69   const watchPostEffect: typeof import('vue')['watchPostEffect']
70   const watchSyncEffect: typeof import('vue')['watchSyncEffect']
71 }
72 // for type re-export
73 declare global {
74   // @ts-ignore
75   export type { Component, ComponentPublicInstance, ComputedRef, ExtractDefaultPropTypes, ExtractPropTypes, ExtractPublicPropTypes, InjectionKey, PropType, Ref, VNode, WritableComputedRef } from 'vue'
76 }

页面如果还有警告出来的话,需要加下includes配置

 在tsconfig.json 文件中添加:

 1 { 2 ......., 3 "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue", "types/**/*.d.ts"] 4 } 

此时在页面中不用单独引入ref、watch 等其他  就可以直接在页面使用

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/710097.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

斯嘉丽约翰逊指控 OpenAI 非法使用其声音;微软推出AI 工具「回顾」(Recall)丨RTE 开发者日报 Vol.208

Copilot+ PCs、GPT-4、NetBSD 开发者朋友们大家好:这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real Time Engagement) 领域内「有话题的 新闻」、「有态度的 观点 」、「有意思的 数据」、「有思考的文章」、「有看点的…

【Quant102】50 个形态学指标的 Pandas 代码

早晨之星(黎明之星) def morning_star(df, inplace=False):if not inplace:df = df.copy()# 计算三日移动平均线df[ma3] = df[close].rolling(3).mean()# 计算昨天的收盘价df[prev_close] = df[close].shift(1)# 找到所有符合条件的早晨之星形态df[morning_star] = (df[close…

kettle之 创建作业和转换

1.创建转换 连接数据库 找到表输入 和 表输出 拖动到右侧点击表输入,进入配置 点击表输出 配置 我这里是把一张表的前10条数据复制到另一张表, 点击运行,可看到日志中提示运行成功还是失败,成功后,可在数据库查看对应的数据。 2.作业 新建作业 拖入控件 设置定时设置执行…

SpringMVC@RequestBody如何实现YYYY-MM-dd HH:mm:ss转Long

@Configuration public class JsonConfig {static {ParserConfig.getGlobalInstance().setSafeMode(true);}@Bean // 使用@Bean注入fastJsonHttpMessageConvertpublic HttpMessageConverters fastJsonHttpMessageConverters() {项目使用FastJson序列化方式 com.alibaba.fastjso…

保障商业机密的智能策略:如何使用华企盾DSC提升文件安全

在商业竞争激烈的今天,每一份企业文件、每一张设计图纸都可能决定企业的未来。因此,如何保护这些珍贵的商业机密不被泄露成为了企业的重中之重。接下来,我们将分享几个实用的技巧,帮助您在文件安全管理上迈出坚实的一步。文件加密:企业数据保护的第一道防线 在数字安全的世…

软链接和硬链接对比

介绍 软链接和硬链接是两种不同的文件链接方式。当源文件被修改时,软\硬链接文件也会相应的修改;当软\硬链接文件被修改时,源文件也会被修改。所以,软链接和硬链接在功能上是相同的,根据使用场景选用链接方式。软硬链接查询,第一个字母d表示目录,-表示文件(硬链接的表示…

pytorch中forward的理解

使用pytorch的时候,模型训练时,不需要使用forward,只要在实例化一个对象中传入对应的参数就可以自动调用 forward 函数1 class Module(nn.Module):2 def __init__(self):3 super(Module, self).__init__()4 # ......5 6 def forward(self, x…

东莞mes系统:提高生产效率的利器

东莞作为中国制造业的重要基地之一,拥有众多制造企业,其中不乏一些领先的MES系统供应商。这些MES系统供应商致力于为东莞的制造企业提供智能制造解决方案,帮助企业提高生产效率、降低生产成本、提升产品质量。 MES系统在东莞的制造企业中被广泛应用,成为提高生产效率的利器…

Python作图三维等高面

在一维空间下,我们要表示密度时可以给出一个二维的函数y=f(x),画出来是一条二维平面上的曲线。在二维空间下,我们要表示密度可以使用一个三维的函数z=f(x,y),画出来是一个三维空间的曲面。而三维空间下,密度表示是一个四维的函数:q=f(x,y,z),这个密度我们在三维空间已经…

大数据的崛起,Figma如何“活”下来并且四年增长将近100倍

随着互联网的蓬勃发展,数字化时代的到来,数据库规模在短短四年内增长了近100倍,这个数字足以让人们震惊和惊叹。而在这样一个激烈竞争的时代,如何让自己的产品在激烈的市场竞争中“活”下来成为了所有创业者和企业家们共同面对的问题。而Figma作为一个备受瞩目的在线协作设…

鸿蒙HarmonyOS实战-Stage模型(卡片数据交互)

🚀一、卡片数据交互 HarmonyOS卡片数据交互是指在基于鸿蒙操作系统的设备上,卡片界面之间进行数据的传输和交互。 HarmonyOS的卡片是一种轻量级的应用界面,可以在设备的屏幕上显示信息和提供操作功能。卡片可以包含各种类型的内容,如文本、图片、按钮、输入框等,并可以根…

CentOS7 图形界面\命令行启动切换(7.9)

1.关于/etc/inittab网上很多都说用着个配置 cat /etc/inittab大概意思就是说,这种设置方式已经不再使用2.建议使用systemctl用法systemctl get-default # multi-user.target #相当于init 3 # graphical.target #相当于init 6 #直接设置 systemctl set-default multi-user.ta…