vite.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. import { defineConfig, loadEnv } from 'vite';
  2. import vue from "@vitejs/plugin-vue";
  3. import path from "path";
  4. import AutoImport from "unplugin-auto-import/vite";
  5. import Components from "unplugin-vue-components/vite";
  6. import { NaiveUiResolver } from "unplugin-vue-components/resolvers";
  7. import { ViteImageOptimizer } from "vite-plugin-image-optimizer";
  8. // https://vitejs.dev/config/
  9. function pathResolve(dir) {
  10. return path.resolve(process.cwd(), ".", dir);
  11. }
  12. export default ({ mode }) =>
  13. defineConfig({
  14. base: loadEnv(mode, process.cwd()).VITE_PUBLIC_DIR,
  15. plugins: [
  16. vue(),
  17. AutoImport({
  18. imports: [
  19. "vue",
  20. {
  21. "naive-ui": [
  22. "useDialog",
  23. "useMessage",
  24. "useNotification",
  25. "useLoadingBar",
  26. ],
  27. },
  28. ],
  29. }),
  30. Components({
  31. resolvers: [NaiveUiResolver()],
  32. }),
  33. ViteImageOptimizer({
  34. png: {
  35. quality: 100,
  36. },
  37. jpg: {
  38. quality: 100,
  39. },
  40. }),
  41. ],
  42. resolve: {
  43. alias: {
  44. "@": path.resolve(__dirname, "src"),
  45. },
  46. extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
  47. },
  48. });