vite.config.ts 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. import { defineConfig } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import { resolve } from "path";
  4. import AutoImport from "unplugin-auto-import/vite";
  5. import Components from "unplugin-vue-components/vite";
  6. import { ElementPlusResolver } from "unplugin-vue-components/resolvers";
  7. import UnoCSS from "unocss/vite";
  8. import vueJsx from "@vitejs/plugin-vue-jsx";
  9. import { visualizer } from "rollup-plugin-visualizer";
  10. // https://vite.dev/config/
  11. export default defineConfig({
  12. base: "./",
  13. plugins: [
  14. vue(),
  15. AutoImport({
  16. resolvers: [ElementPlusResolver()],
  17. }),
  18. Components({
  19. resolvers: [ElementPlusResolver()],
  20. }),
  21. UnoCSS(),
  22. vueJsx(),
  23. visualizer({
  24. gzipSize: true,
  25. brotliSize: true,
  26. emitFile: false,
  27. filename: "stats.html", //分析图生成的文件名
  28. open: true, //如果存在本地服务端口,将在打包后自动展示
  29. }),
  30. ],
  31. resolve: {
  32. alias: {
  33. "@": resolve(__dirname, "src"),
  34. },
  35. },
  36. build: {
  37. // cssCodeSplit: false,
  38. sourcemap: false,
  39. minify: "esbuild",
  40. rollupOptions: {
  41. output: {
  42. chunkFileNames: 'static/js/[name]-[hash].js',
  43. entryFileNames: 'static/js/[name]-[hash].js',
  44. assetFileNames: 'static/[ext]/[name]-[hash].[ext]'
  45. }
  46. }
  47. },
  48. esbuild: {
  49. // drop: ["console"],
  50. },
  51. });