K-BOlG K-BOlG
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)

nengkai

大道至简-知易行难
Home
  • 前端
  • Http
  • Ajax
  • Node
  • MongoDB
  • Axios
  • Git
  • Webpack
  • React
  • Vue
  • Uni-app
  • 性能优化
  • 移动端
  • 技术
  • Vue3入门
  • TypeScript入门
  • Jenkins-Nginx
  • UI
  • 文本超出隐藏解决
  • 收藏
  • 实用网站
  • 资源库
  • Vue专区
  • 你知道的越多,不知道的也就越多
  • 拥抱生活,拥抱快乐
关于
  • 分类
  • 标签
  • 归档
GitHub (opens new window)
  • 目录页

  • 前端

  • 技术

    • vue3入门
    • TypeScript入门
    • 在浏览器输入url后都发生了什么
    • 如何保证setTimeout准确性
    • Jenkins+nginx
    • 浏览器缓存机制
    • requestAnimationFrame实践
    • git突然连不上github解决方案
    • 让vue3更好用的vite插件
      • 1 vite-plugin-vue-setup-extend
        • 安装:
        • 配置:vite.config.ts 文件中
      • 2 unplugin-auto-import
        • 安装:
        • 配置:
      • 3 unplugin-vue-components
        • 安装:
        • 配置:
      • 4 vite-plugin-compression
        • 安装:
        • 配置:
      • 5 rollup-plugin-visualizer
        • 安装:
        • 配置:
      • 6 vite-plugin-vue-images :有点小问题
        • 安装:
        • 配置:
        • 使用:注意用大写开头,惨痛教训
      • 7 vue-global-api
        • 安装:
        • 配置:main.ts添加
    • Vue3有哪些新特性
    • EvenLoop有哪些
    • win10下关闭进程
    • JS设计模式
    • 谷歌调试快捷键
    • 前端常用设计模式
  • UI

  • 收藏

  • 随笔

  • 关于

  • views
  • 技术
nengkai
2022-05-26
目录

让vue3更好用的vite插件

# 1 vite-plugin-vue-setup-extend

解决 vue3 下 script setup 语法糖 下 ,手动设置组件 name 不方便的问题

# 安装:

npm i vite-plugin-vue-setup-extend -D
1

# 配置:vite.config.ts 文件中

import setupExtend from 'vite-plugin-vue-setup-extend';

export default defaultConfig({
  
  plugins: [
     ...
     setupExtend()
   ],
})

1
2
3
4
5
6
7
8
9
10

# 2 unplugin-auto-import

自动导入插件,可实现不用引入直接使用 ref watch computed router 等等...

# 安装:

 npm i unplugin-auto-import -D
1

# 配置:

export default defaultConfig({
  plugins:[
     AutoImport({
      include: [
        /\.[tj]sx?$/, // .ts, .tsx, .js, .jsx
        /\.vue$/,
        /\.vue\?vue/, // .vue
        /\.md$/ // .md
      ],
      // global imports to register
      imports: ['vue', 'vue-router'],
      eslintrc: {
        enabled: false,   // 会生成eslintrc文件 filepath 配置文件名
        filepath: './.eslintrc-auto-import.json',
        globalsPropValue: true
      }
    }),
  ]
})
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19

用了自动引入后 eslint 和 ts 会报错 解决方法如下:
把上面生成的 ./.eslintrc-auto-import.json 加入到 eslint 配置里面 .eslintrc.js 文件中

  extends: [
    ...
    './.eslintrc-auto-import.json'
  ],
1
2
3
4

在 tsconfig.json 文件中 auto-imports.d.ts 会自动生成

"include": [..., "auto-imports.d.ts"],
1

# 3 unplugin-vue-components

实现 vue 组件库的自动按需导入,这样就不用手动导入了

# 安装:

npm i unplugin-vue-components -D
1

# 配置:

  import AutoImport from 'unplugin-auto-import/vite';
import Components from 'unplugin-vue-components/vite';
import { ElementPlusResolver } from 'unplugin-vue-components/resolvers';
export default defineConfig({
  plugins: [
    vue(),
    AutoImport({
      imports: [
        'vue',
        'vue-router',
        {
          vuex: ['useStore']
        }
      ],
      resolvers: [ElementPlusResolver()],
      dts: false
    }),
    Components({
      resolvers: [ElementPlusResolver()]
    }),
  ]
});

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23

# 4 vite-plugin-compression

静态资源压缩

# 安装:

npm i vite-plugin-compression -D
1

# 配置:

// 静态资源压缩
import viteCompression from 'vite-plugin-compression';
export default defineConfig({
  plugins: [
    ...
    viteCompression({
      verbose: true,
      disable: false, // 不禁用压缩
      deleteOriginFile: false, // 压缩后是否删除原文件
      threshold: 10240, // 压缩前最小文件大小
      algorithm: 'gzip', // 压缩算法
      ext: '.gz' // 文件类型
    })
  ],
});
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 5 rollup-plugin-visualizer

打包分析

# 安装:

npm i rollup-plugin-visualizer -D
1

# 配置:

import visualizer from 'rollup-plugin-visualizer';
export default defineConfig({
  plugins: [
    ...
    visualizer({
        // 打包后自动打开分析报告
        open: true
      })
  ],
});
1
2
3
4
5
6
7
8
9
10

# 6 vite-plugin-vue-images : 有点小问题

图片自动导入,配置后图片可直接使用

# 安装:

npm i vite-plugin-vue-images -D
1

# 配置:

// vite.config.ts
import { defineConfig } from 'vite'
import ViteImages from 'vite-plugin-vue-images'

export default defineConfig({
  plugins: [
    ViteImages({
      dirs: ['src/assets/image'] // 指明图片存放目录
    })
  ]
})
1
2
3
4
5
6
7
8
9
10
11

# 使用:注意用大写开头,惨痛教训

<template>
  <div class="home">
    <img :src="Logo"  />
    <img :src="TestName1"  /> 
  </div>
</template>

<script setup lang="ts">
import Logo from '@/assets/logo.png'
import TestName1 from '@/assets/test/name1.jpg'
</script>

<style lang="less" scoped>
</style>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# 7 vue-global-api

unplugin-auto-import 插件的继承者,解决因为它的自动导入导致的 eslint 报错

# 安装:

npm i vue-global-api
1

# 配置:main.ts 添加

import 'vue-global-api'

编辑 (opens new window)
#vite#Vue3
上次更新: 5/31/2022, 12:12:23 PM
git突然连不上github解决方案
Vue3有哪些新特性

← git突然连不上github解决方案 Vue3有哪些新特性→

最近更新
01
前端常用设计模式
04-01
02
谷歌调试快捷键
06-23
03
JS设计模式
06-02
更多文章>
Theme by Vdoing | Copyright © 2022-2023
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式