vite.config.js 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. import {
  2. defineConfig
  3. } from "vite";
  4. import vue from "@vitejs/plugin-vue";
  5. import path from 'path'
  6. import viteCompression from "vite-plugin-compression";
  7. export default defineConfig({
  8. plugins: [
  9. vue(),
  10. viteCompression({
  11. //gzip压缩
  12. verbose: true,
  13. disable: false,
  14. threshold: 10240,
  15. algorithm: "gzip",
  16. ext: ".gz",
  17. }),
  18. ],
  19. resolve: {
  20. //配置路径别名
  21. alias: {
  22. '@': path.resolve(__dirname, './src')
  23. },
  24. },
  25. build: {
  26. terserOptions: {
  27. compress: {
  28. drop_console: true,
  29. drop_debugger: true,
  30. },
  31. },
  32. // chunkSizeWarningLimit: 1500,大文件报警阈值设置,不建议使用
  33. rollupOptions: {
  34. output: {
  35. //静态资源分类打包
  36. chunkFileNames: "static/js/[name]-[hash].js",
  37. entryFileNames: "static/js/[name]-[hash].js",
  38. assetFileNames: "static/[ext]/[name]-[hash].[ext]",
  39. manualChunks(id) {
  40. //静态资源分拆打包
  41. if (id.includes("node_modules")) {
  42. return id.toString().split("node_modules/")[1].split("/")[0].toString();
  43. }
  44. },
  45. },
  46. },
  47. },
  48. css: {
  49. /* CSS 预处理器 导入全局样式*/
  50. preprocessorOptions: {
  51. scss: {
  52. // additionalData: '@import "src/styles/common.scss";',
  53. },
  54. },
  55. },
  56. server:{
  57. host:'0.0.0.0'
  58. }
  59. });