vite.config.ts 1.6 KB

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