vite.config.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. import type { UserConfig, ConfigEnv } from 'vite';
  2. import { defineConfig } from 'vite'
  3. import vue from '@vitejs/plugin-vue'
  4. import { resolve } from "path";
  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. import vueSetupExtend from 'vite-plugin-vue-setup-extend-plus'; // setup语法糖设置name
  9. import viteCompression from "vite-plugin-compression"; //开启gzip打包压缩
  10. export default defineConfig(({ command, mode }: ConfigEnv): UserConfig => {
  11. // const env = loadEnv(mode, process.cwd(), '')
  12. console.log(command, mode);
  13. return {
  14. plugins: [vue(),
  15. vueSetupExtend(),
  16. AutoImport({
  17. resolvers: [ElementPlusResolver()],
  18. }),
  19. Components({
  20. resolvers: [ElementPlusResolver()],
  21. }),
  22. viteCompression()
  23. ],
  24. publicDir: "public",
  25. base: "./",
  26. server: {
  27. host: '0.0.0.0',
  28. port: 8113,
  29. open: true,
  30. strictPort: false,
  31. // proxy: {}
  32. },
  33. resolve: {
  34. alias: {
  35. "@": resolve(__dirname, "./src"),
  36. "components": resolve(__dirname, "./src/components"),
  37. "api": resolve(__dirname, "./src/api"),
  38. },
  39. },
  40. css: { preprocessorOptions: { css: { charset: false } } },
  41. build: {
  42. outDir: 'dist',
  43. sourcemap: false,
  44. chunkSizeWarningLimit: 1500,
  45. rollupOptions: {
  46. output: {
  47. entryFileNames: `assets/[name].[hash].js`,
  48. chunkFileNames: `assets/[name].[hash].js`,
  49. assetFileNames: `assets/[name].[hash].[ext]`,
  50. compact: true,
  51. manualChunks: {
  52. vue: ['vue', 'vue-router', 'pinia']
  53. },
  54. },
  55. },
  56. minify: 'terser',
  57. terserOptions: {
  58. //生产环境时移除console和debugger
  59. compress: {
  60. drop_console: false,
  61. drop_debugger: true
  62. }
  63. }
  64. },
  65. }
  66. })