vite.config.ts 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. import { defineConfig } from "vite";
  2. import vue from "@vitejs/plugin-vue";
  3. import vueJsx from "@vitejs/plugin-vue-jsx";
  4. import legacy from "@vitejs/plugin-legacy";
  5. import { resolve } from "path";
  6. import postCssPxToRem from "postcss-pxtorem";
  7. import { visualizer } from "rollup-plugin-visualizer";
  8. import viteCompression from "vite-plugin-compression";
  9. // https://vitejs.dev/config/
  10. export default defineConfig({
  11. base: "./",
  12. resolve: {},
  13. // assetsInclude: ['**/*.html'],
  14. plugins: [
  15. // mkcert(), // 本地https
  16. legacy({
  17. targets: ["Chrome 63"],
  18. additionalLegacyPolyfills: ["regenerator-runtime/runtime"],
  19. modernPolyfills: true,
  20. }),
  21. vue(),
  22. vueJsx(),
  23. visualizer({ open: true }), // 自动开启分析页面
  24. ],
  25. css: {
  26. postcss: {
  27. plugins: [
  28. postCssPxToRem({
  29. rootValue: 37.5,
  30. propList: ["*"],
  31. selectorBlackList: [".norem"],
  32. }),
  33. ],
  34. },
  35. },
  36. build: {
  37. minify: 'terser', // 启用 terser 压缩
  38. terserOptions: {
  39. compress: {
  40. pure_funcs: ['console.log'], // 只删除 console.log
  41. //drop_console: true, // 删除所有 console
  42. drop_debugger: true, // 删除 debugger
  43. }
  44. },
  45. rollupOptions: {
  46. input: {
  47. instrument: resolve(__dirname, "instrument.html"),
  48. },
  49. output: {
  50. chunkFileNames: "js/[name]-[hash].js", // 引入文件名的名称
  51. entryFileNames: "js/[name]-[hash].js", // 包的入口文件名称
  52. assetFileNames: "[ext]/[name]-[hash].[ext]", // 资源文件像 字体,图片等
  53. },
  54. },
  55. },
  56. server: {
  57. cors: true,
  58. port: 3000,
  59. // https: true,
  60. proxy: {
  61. "^/instrument/.*": {
  62. target: "https://test.gym.lexiaoya.cn",
  63. changeOrigin: true,
  64. rewrite: (path) => path.replace(/^\/instrument/, ""),
  65. },
  66. },
  67. },
  68. preview: {
  69. port: 3000,
  70. host: "192.168.3.114",
  71. },
  72. });
  73. // vite.config.js