import { defineConfig } from 'vite' import react from '@vitejs/plugin-react' import path, { resolve, dirname } from 'node:path' import { fileURLToPath } from 'url' import MarkdownItSub from 'markdown-it-sub' import MarkdownItSup from 'markdown-it-sup' import MarkdownItFootnote from 'markdown-it-footnote' import markdownItMark from 'markdown-it-mark' import MarkdownItIns from 'markdown-it-ins' import VitePluginReactMarkdown from './plugins/vite-plugin-react-markdown' const __filename = fileURLToPath(import.meta.url) const __dirname = path.dirname(__filename) const generateScopedName = '[name]__[local]___[hash:base64:5]' export default defineConfig({ mode: 'development', plugins: [ VitePluginReactMarkdown({ markdownItUses: [MarkdownItSub, MarkdownItSup, MarkdownItFootnote, markdownItMark, MarkdownItIns] }), react() ], css: { modules: { generateScopedName }, }, build: { rollupOptions: { output: { format: 'es', // manualChunks, // chunkFileNames: 'assets/[name]-[hash].js' } }, }, resolve: { alias: { '@src': resolve(__dirname, 'src'), '@assets': resolve(__dirname, 'assets'), '@': resolve(__dirname, '.'), } }, server: { host: '0.0.0.0', port: 3302, proxy: { '/api': { target: 'https://testadmin.piaoquantv.com', changeOrigin: true, rewrite: (path) => path.replace(/^\/api/, ''), } } } }) function manualChunks(id) { if (!id.includes('node_modules')) { console.log(dirname(id)) return dirname(id).split('/').at(-1) } }