| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- import { defineConfig, loadEnv } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import { resolve } from 'path'
- import vueJsx from '@vitejs/plugin-vue-jsx'
- import { visualizer } from 'rollup-plugin-visualizer'
- export default ({ mode }) => {
- const env = loadEnv(mode, process.cwd())
- const proxyPrefix = env.VITE_APP_PROXY_PREFIX
- return defineConfig({
- base: env.VITE_APP_BASE,
- plugins: [
- vue(),
- vueJsx(),
- visualizer({
- emitFile: false,
- file: 'stats.html', //分析图生成的文件名
- open: true //如果存在本地服务端口,将在打包后自动展示
- })
- ],
- resolve: {
- alias: {
- '@': resolve(__dirname, 'src'),
- '@cps': resolve(__dirname, 'src/components'),
- 'vue-i18n': 'vue-i18n/dist/vue-i18n.cjs.js'
- }
- },
- build: {
- chunkSizeWarningLimit: 1500
- // rollupOptions: {
- // output: {
- // manualChunks(id) {
- // if (id.includes('node_modules')) {
- // return id.toString().split("node_modules/")[1].split("/")[0].toString();
- // }
- // }
- // }
- // }
- },
- server: {
- host: '0.0.0.0',
- port: env.VITE_APP_PORT || process.env.port,
- proxy: {
- [proxyPrefix]: {
- target: env.VITE_APP_BASE_URL,
- changeOrigin: true,
- ws: true,
- toProxy: true,
- rewrite: (path) => path.replace(new RegExp(`^${proxyPrefix}`), '')
- }
- }
- }
- })
- }
|