1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import UnoCSS from 'unocss/vite'
- import { resolve } from 'path'
- import config from './src/config'
- // https://vitejs.dev/config/
- export default defineConfig({
- css: {
- extract: true,
- },
- resolve: {
- alias: {
- '~src': `${resolve(__dirname, './src')}`,
- '~api': resolve(__dirname, './src/api/modules'),
- },
- },
- plugins: [
- vue(),
- UnoCSS()
- ],
- build: {
- rollupOptions: {
- output: {
- manualChunks(id) {
- let libStr = '@vue,vue-router,js-fast-way,hc-vue3-ui'
- const libs = libStr.split(',')
- if (id.includes('node_modules')) {
- const arr = id.toString().split('node_modules/')[1].split('/')
- if (libs.indexOf(arr[0]) !== -1) {
- return '_' + arr[0]
- } else {
- return '__vendor'
- }
- }
- },
- chunkFileNames: 'static/js1/[name]-[hash].js',
- entryFileNames: 'static/js2/[name]-[hash].js',
- assetFileNames: 'static/[ext]/[name]-[hash].[ext]',
- },
- },
- brotliSize: false, // 不统计
- target: 'esnext',
- },
- server: {
- ...config.vite,
- proxy: {
- '/api': {
- ws: true,
- changeOrigin: true,
- target: config.target,
- rewrite: (path) => path.replace(new RegExp('^/api'), '/'),
- },
- },
- },
- })
|