vite.config.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { defineConfig } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import path from "path";
  4. import { loadEnv } from "vite";
  5. import AutoImport from "unplugin-auto-import/vite";
  6. import Components from "unplugin-vue-components/vite";
  7. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  8. export default defineConfig(({ mode }) => {
  9. const env = loadEnv(mode, process.cwd());
  10. const { VITE_APP_ENV, VITE_APP_BASE_API, VITE_APP_URL } = env;
  11. return {
  12. base: VITE_APP_ENV === "production" ? "/" : "/",
  13. plugins: [
  14. vue(),
  15. AutoImport({
  16. resolvers: [ElementPlusResolver()],
  17. }),
  18. Components({
  19. resolvers: [ElementPlusResolver()],
  20. }),
  21. ],
  22. css: {
  23. preprocessorOptions: {
  24. less: {
  25. javascriptEnabled: true,
  26. },
  27. },
  28. },
  29. resolve: {
  30. alias: {
  31. "@": path.resolve(__dirname, "./src"),
  32. },
  33. extensions: [".mjs", ".js", ".ts", ".jsx", ".tsx", ".json", ".vue"],
  34. },
  35. server: {
  36. port: 80,
  37. host: true,
  38. hmr: true,
  39. open: true,
  40. proxy: {
  41. [VITE_APP_BASE_API]: {
  42. target: VITE_APP_URL,
  43. changeOrigin: true,
  44. rewrite: (p) => p.replace(/^\/dev-api/, ""),
  45. },
  46. },
  47. },
  48. };
  49. });