Skip to content

vite 插件

vue 插件

TIP

用来支持 vue 组件

ts
// 安装
// yarn add @vitejs/plugin-vue;

// vite.config.js
import vue from "@vitejs/plugin-vue";
return defineConfig({
  plugins: [vue()],
});

jsx 插件

TIP

用来支持 jsx语法

ts
// 安装
// yarn add @vitejs/plugin-vue-jsx;

// vite.config.js
import vueJsx from "@vitejs/plugin-vue-jsx";
return defineConfig({
  plugins: [vueJsx()],
});

name 插件

TIP

用来支持 script setup 语法设置组件name

tsx
// 安装
// tyarn add vite-plugin-vue-setup-extend

// vite.config.js
import vueSetupExtend from "vite-plugin-vue-setup-extend";
return defineConfig({
  plugins: [vueSetupExtend()],
});

// 使用
<script lang="ts" setup name="Category">

gzip插件

TIP

用来支持 vite打包物压缩成gz格式

ts
// 安装
// yarn add rollup-plugin-gzip;

// vite.config.js
import gzip from "rollup-plugin-gzip";
return defineConfig({
  plugins: [gzip()],
});

分析插件

TIP

用来支持 vite打包后打包物组成

ts
// 安装
// yarn add rollup-plugin-visualizer;

// vite.config.js
import { visualizer } from "rollup-plugin-visualizer";
return defineConfig({
  plugins: [visualizer()],
});

自己写插件

TIP

方便实现自己的功能 这里写一个去掉所有的console.log的插件

ts
/**
* @description:去掉console
* @param {boolean} confirmRemoveConsole 确定去掉吗?
* @return {*}
*/
export default (confirmRemoveConsole = true): any => {
return {
  name: "remove-console", // 必须的,将会显示在 warning 和 error 中
  transform(file: string, filePath: string) {
    if (confirmRemoveConsole && !filePath.includes("node_modules")) {
      const consoStr = /console\.log\(.*?\)/g;
      return file.replace(consoStr, "");
    }
    return file;
  },
};
};

// 使用
import RemoveConsole from "./src/utils/RemoveConsole";
return defineConfig({
plugins: [RemoveConsole(mode == "build")],
});

杨利伟的博客