Skip to content
Snippets Groups Projects
vite.config.js 1.22 KiB
Newer Older
韩 博侨's avatar
韩 博侨 committed
import path from "path";
import { defineConfig } from "vite";
import Vue from "@vitejs/plugin-vue";
import Pages from "vite-plugin-pages";
import Components from "unplugin-vue-components/vite";
import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
含滋 秦's avatar
含滋 秦 committed
import {
韩 博侨's avatar
韩 博侨 committed
  createStyleImportPlugin,
  ElementPlusResolve,
} from "vite-plugin-style-import";
import Unocss from "unocss/vite";
import {
  presetAttributify,
  presetIcons,
  presetUno,
  transformerDirectives,
  transformerVariantGroup,
} from "unocss";
const pathSrc = path.resolve(__dirname, "src");
含滋 秦's avatar
含滋 秦 committed

// https://vitejs.dev/config/
export default defineConfig({
韩 博侨's avatar
韩 博侨 committed
  plugins: [
    Vue(),
    Pages({ importMode: "sync" }),
    Components({
      extensions: ["vue"],
      include: [/\.vue$/, /\.vue\?vue/],
韩 博侨's avatar
韩 博侨 committed
      resolvers: [ElementPlusResolver({ importStyle: "sass" })],
韩 博侨's avatar
韩 博侨 committed
      dts: "src/components.d.ts",
    }),
    Unocss({
      presets: [
        presetUno(),
        presetAttributify(),
        presetIcons({ scale: 1.2, warn: true }),
      ],
      transformers: [transformerDirectives(), transformerVariantGroup()],
    }),
    createStyleImportPlugin({
      resolves: [ElementPlusResolve()],
    }),
  ],
  resolve: {
    alias: {
      "~/": `${pathSrc}/`,
含滋 秦's avatar
含滋 秦 committed
    },
韩 博侨's avatar
韩 博侨 committed
  },
});