vite.test.config.ts 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { defineConfig } from 'vite'
  2. import react from '@vitejs/plugin-react'
  3. import path, { resolve, dirname } from 'node:path'
  4. import { fileURLToPath } from 'url'
  5. import MarkdownItSub from 'markdown-it-sub'
  6. import MarkdownItSup from 'markdown-it-sup'
  7. import MarkdownItFootnote from 'markdown-it-footnote'
  8. import markdownItMark from 'markdown-it-mark'
  9. import MarkdownItIns from 'markdown-it-ins'
  10. import VitePluginReactMarkdown from './plugins/vite-plugin-react-markdown'
  11. const __filename = fileURLToPath(import.meta.url)
  12. const __dirname = path.dirname(__filename)
  13. const generateScopedName = '[name]__[local]___[hash:base64:5]'
  14. export default defineConfig({
  15. mode: 'development',
  16. plugins: [
  17. VitePluginReactMarkdown({
  18. markdownItUses: [MarkdownItSub, MarkdownItSup, MarkdownItFootnote, markdownItMark, MarkdownItIns]
  19. }),
  20. react()
  21. ],
  22. css: {
  23. modules: {
  24. generateScopedName
  25. },
  26. },
  27. build: {
  28. rollupOptions: {
  29. output: {
  30. format: 'es',
  31. // manualChunks,
  32. // chunkFileNames: 'assets/[name]-[hash].js'
  33. }
  34. },
  35. },
  36. resolve: {
  37. alias: {
  38. '@src': resolve(__dirname, 'src'),
  39. '@assets': resolve(__dirname, 'assets'),
  40. '@': resolve(__dirname, '.'),
  41. }
  42. },
  43. server: {
  44. host: '0.0.0.0',
  45. port: 3302,
  46. proxy: {
  47. '/api': {
  48. target: 'https://testadmin.piaoquantv.com',
  49. changeOrigin: true,
  50. rewrite: (path) => path.replace(/^\/api/, ''),
  51. }
  52. }
  53. }
  54. })
  55. function manualChunks(id) {
  56. if (!id.includes('node_modules')) {
  57. console.log(dirname(id))
  58. return dirname(id).split('/').at(-1)
  59. }
  60. }