vite.config.ts 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. import { defineConfig } from 'vite'
  2. import vue from '@vitejs/plugin-vue'
  3. import path from 'path'
  4. import UnoCss from 'unocss/vite'
  5. import { createSvgIconsPlugin } from 'vite-plugin-svg-icons'
  6. import AutoImport from 'unplugin-auto-import/vite'
  7. import Components from 'unplugin-vue-components/vite'
  8. import IconsResolver from 'unplugin-icons/resolver'
  9. import { ElementPlusResolver } from 'unplugin-vue-components/resolvers'
  10. import monacoEditorPlugin from 'vite-plugin-monaco-editor'
  11. // https://vite.dev/config/
  12. export default defineConfig({
  13. plugins: [
  14. vue(),
  15. UnoCss(),
  16. createSvgIconsPlugin({
  17. // 指定存放 SVG 的文件夹
  18. iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
  19. symbolId: 'svg-icon-[dir]-[name]'
  20. }),
  21. // 代码编辑器
  22. (monacoEditorPlugin as any).default({
  23. languageWorkers: ['editorWorkerService', 'typescript', 'json', 'html', 'css']
  24. }),
  25. // 按需求加载(模板)
  26. AutoImport({
  27. imports: ['vue'],
  28. resolvers: [
  29. IconsResolver({
  30. prefix: 'Icon'
  31. }),
  32. ElementPlusResolver()
  33. ],
  34. dts: 'auto-imports.d.ts'
  35. }),
  36. Components({
  37. resolvers: [
  38. // 自动注册图标组件
  39. IconsResolver({
  40. enabledCollections: ['ep']
  41. }),
  42. ElementPlusResolver()
  43. ],
  44. dts: 'components.d.ts'
  45. })
  46. ],
  47. resolve: {
  48. alias: {
  49. '@': path.resolve(__dirname, 'src')
  50. }
  51. },
  52. server: {
  53. host: true,
  54. port: 5174,
  55. proxy: {
  56. '/api': {
  57. target: 'http://shalu-componenttesting-admin-dev.shalu.com',
  58. changeOrigin: true,
  59. rewrite: (path) => path.replace(/^\/api/, '/api')
  60. }
  61. }
  62. }
  63. })