码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • unplugin-vue-components和unplugin-auto-import插件


    unplugin-auto-import:自动按需引入 vue\vue-router\pinia 等的 api
    unplugin-vue-components:自动按需引入 第三方的组件库组件 和 我们自定义的组件

    使用此类插件,不需要手动编写import {xxx} from vue这样的代码了,提升开发效率。

    unplugin-auto-import 原理

    以 vue与vite为例,会读取文件中script部分的字符,以空白符进行间隔,如const a = getName() 会过滤一些指定的字符读取到 const 、 a 、getName这些字符串传入unplugin-auto-import 作为 name,那么在运行的时候只需要匹配name 是否与生效的自动导入API匹配,如果匹配则在vite启动的时候将对应的文件加入到运行环境中,并且生成全局ts声明。

    安装插件

    npm install -D unplugin-vue-components unplugin-auto-import
    
    • 1

    配置 vite.config.ts

    // vite.config.ts
    import AutoImport from 'unplugin-auto-import/vite'
    import Components from 'unplugin-vue-components/vite'
    
    export default {
      plugins: [
        // ...
          AutoImport({
            include: [
              /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
              /\.vue$/,
              /\.vue\?vue/, // .vue
              /\.md$/, // .md
              /\.\/src\/layouts/,
            ],
            dts: './auto-imports.d.ts',
            imports: [
              'vue',
              'vue-router',
              {
                'tdesign-vue-next': ['MessagePlugin', 'DialogPlugin'],
                '@vueuse/core': ['useToggle'],
              },
            ],
            dirs: ['./src/hooks', './src/utils', './src/store/modules/*.ts'],
            vueTemplate: true,
            eslintrc: {
              enabled: false, // Default `false`
              filepath: './.eslintrc-auto-import.json', // Default `./.eslintrc-auto-import.json`
              globalsPropValue: true, // Default `true`, (true | false | 'readonly' | 'readable' | 'writable' | 'writeable')
            },
          }),
          Components({
            dts: true,
            dirs: ['src/components'],
          }),
      ],
    }
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39

    参考链接:
    https://juejin.cn/post/7086326589897572389
    https://juejin.cn/post/7062648728405934087

  • 相关阅读:
    聚乳酸改性乳清白蛋白/肌白蛋白/豆清白蛋白/蓖麻蛋白/豌豆白蛋白1b ( PA1b)|蛋白偶联修饰
    Mac Pro在重装系统时提示“未能与恢复服务器取得联系”
    前端性能精进之优化方法论(二)——分析
    Figma技术学习总结
    Java随笔-TCP
    鸿蒙Ability Kit(程序框架服务)【UIExtensionAbility】
    AlphaFold2源码解析(3)--数据预处理
    备考cisp拿证,收藏这一篇就够了
    解决MySQL错误-this is incompatible with sql_mode=only_full_group_by
    计网学习笔记一 Networking && Internet
  • 原文地址:https://blog.csdn.net/Anyuegogogo/article/details/133526063
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号