vite.config.ts 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. server: {
  22. open: true,
  23. host: '0.0.0.0',
  24. proxy: {
  25. '/api': {
  26. target: 'https://erp.baozhida.cn',
  27. changeOrigin: true,
  28. rewrite: path => path.replace(/^\/api/, '/testapi')
  29. },
  30. '/testapi': {
  31. target: 'https://erp.baozhida.cn',
  32. changeOrigin: true
  33. },
  34. '/ams': {
  35. target: 'http://erp.baozhida.cn',
  36. changeOrigin: true
  37. }
  38. }
  39. },
  40. plugins: [
  41. vue(),
  42. createHtmlPlugin({
  43. inject: {
  44. data: {
  45. title: env.VITE_BZD_ERP_APP_TITLE
  46. }
  47. }
  48. }),
  49. // eslintPlugin({
  50. // include: ["src/**/*.js", "src/**/*.vue", "src/*.js", "src/*.vue"],
  51. // }),
  52. AutoImport({
  53. resolvers: [ElementPlusResolver()]
  54. }),
  55. Components({
  56. resolvers: [ElementPlusResolver()]
  57. })
  58. ],
  59. // * 打包去除 console.log && debugger
  60. esbuild: {
  61. pure: env.VITE_DROP_CONSOLE ? ['console.log', 'debugger'] : []
  62. },
  63. build: {
  64. // rollupOptions: {
  65. // output: {
  66. // // 打包后文件命名
  67. // assetFileNames: '[hash].[name].[ext]'
  68. // }
  69. // },
  70. // // 图片大小分界线:大于 4kb,图片正常打包。小于 4kb,图片会转化为 base64。
  71. // assetsInlineLimit: 4096, // 4kb
  72. // 打包后名称,默认是 dist
  73. outDir: 'ERP'
  74. // 打包后静态目录名称
  75. // assetsDir: 'static'
  76. }
  77. }
  78. })