import { defineConfig, loadEnv } from "vite"; import { fileURLToPath, URL } from "url"; import vue from "@vitejs/plugin-vue"; import path from "path"; import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; import { NaiveUiResolver } from "unplugin-vue-components/resolvers"; import { ViteImageOptimizer } from "vite-plugin-image-optimizer"; // https://vitejs.dev/config/ function pathResolve(dir) { return path.resolve(process.cwd(), ".", dir); } export default ({ mode }) => defineConfig({ base: loadEnv(mode, process.cwd()).VITE_PUBLIC_DIR, plugins: [ vue(), AutoImport({ imports: [ "vue", { "naive-ui": [ "useDialog", "useMessage", "useNotification", "useLoadingBar", ], }, ], }), Components({ resolvers: [NaiveUiResolver()], }), ViteImageOptimizer({ png: { quality: 100, }, jpg: { quality: 100, }, }), ], resolve: { alias: { "@": path.resolve(__dirname, "src"), "##": path.resolve(__dirname, "src/assets"), }, extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"], }, });