vite.config.ts 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. import { defineConfig, loadEnv, ConfigEnv, UserConfig } from 'vite'
  2. import { createHtmlPlugin } from 'vite-plugin-html'
  3. import vue from '@vitejs/plugin-vue'
  4. import { resolve } from 'path'
  5. import path from 'path'
  6. // import eslintPlugin from "vite-plugin-eslint";
  7. import AutoImport from 'unplugin-auto-import/vite'
  8. import Components from 'unplugin-vue-components/vite'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. // https://vitejs.dev/config/
  11. export default defineConfig(({ mode }: ConfigEnv): UserConfig => {
  12. const env = loadEnv(mode, process.cwd())
  13. return {
  14. resolve: {
  15. alias: {
  16. '~': resolve(__dirname, './'),
  17. '@': resolve(__dirname, './src'),
  18. '@assets': path.resolve(__dirname, './assets/images')
  19. }
  20. },
  21. css: {
  22. preprocessorOptions: {
  23. scss: {
  24. additionalData: `@use "@/styles/index.scss";`
  25. }
  26. }
  27. },
  28. server: {
  29. open: true,
  30. host: '0.0.0.0',
  31. proxy: {
  32. '/api': {
  33. target: 'https://erp.baozhida.cn',
  34. changeOrigin: true,
  35. rewrite: path => path.replace(/^\/api/, '/testapi')
  36. },
  37. '/testapi': {
  38. target: 'https://erp.baozhida.cn',
  39. changeOrigin: true
  40. },
  41. '/ams': {
  42. target: 'http://erp.baozhida.cn',
  43. changeOrigin: true
  44. }
  45. }
  46. },
  47. plugins: [
  48. vue(),
  49. createHtmlPlugin({
  50. inject: {
  51. data: {
  52. title: env.VITE_BZD_ERP_APP_TITLE
  53. }
  54. }
  55. }),
  56. // eslintPlugin({
  57. // include: ["src/**/*.js", "src/**/*.vue", "src/*.js", "src/*.vue"],
  58. // }),
  59. AutoImport({
  60. resolvers: [ElementPlusResolver()]
  61. }),
  62. Components({
  63. resolvers: [ElementPlusResolver()]
  64. })
  65. ],
  66. // * 打包去除 console.log && debugger
  67. esbuild: {
  68. pure: env.VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : []
  69. },
  70. build: {
  71. // rollupOptions: {
  72. // output: {
  73. // // 打包后文件命名
  74. // assetFileNames: '[hash].[name].[ext]'
  75. // }
  76. // },
  77. // // 图片大小分界线:大于 4kb,图片正常打包。小于 4kb,图片会转化为 base64。
  78. // assetsInlineLimit: 4096, // 4kb
  79. // 打包后名称,默认是 dist
  80. outDir: 'ERP'
  81. // 打包后静态目录名称
  82. // assetsDir: 'static'
  83. }
  84. }
  85. })