123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 |
- import { fileURLToPath, URL } from 'node:url'
-
- import { defineConfig } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import vueJsx from '@vitejs/plugin-vue-jsx'
-
- import path from 'path';
- import { createSvgIconsPlugin } from 'vite-plugin-svg-icons';
- import { vite2Ext } from "apite";
- // 自动动态引入antv组件,测试结果发现全部引入也不大,所以注了
- // import Components from 'unplugin-vue-components/vite';
- // import { AntDesignVueResolver } from 'unplugin-vue-components/resolvers';
- import OptimizationPersist from 'vite-plugin-optimize-persist'
- import PkgConfig from 'vite-plugin-package-config'
- import vueSetupExtend from 'vite-plugin-vue-setup-extend'
- import { visualizer } from 'rollup-plugin-visualizer'
-
- const lifecycle = process.env.npm_lifecycle_event;
-
- // https://vitejs.dev/config/
- export default defineConfig({
- esbuild: {
- drop: [],
- },
- build: {
- sourcemap: true,
- // terserOptions: {
- // compress: {
- // drop_console: false,
- // drop_debugger: false,
- // },
- // },
- chunkSizeWarningLimit: 5000,
- rollupOptions: {
- output: {
- // manualChunks: {
- // vendor
- // },
- chunkFileNames: 'js/[name]-[hash].js',
- entryFileNames: 'js/[name]-[hash].js',
- assetFileNames: '[ext]/[name]-[hash].[ext]',
- manualChunks(id) { //静态资源分拆打包
- // 可参考https://www.cnblogs.com/jyk/p/16029074.html
- // node包插件打包在一起
- if (id.includes('node_modules')) {
- const arr = id.toString().split('node_modules/')[1].split('/')
- switch (arr[0]) {
- // logicflow是例外,和页面文件打包在一起
- case '@logicflow':
- // if (arr[1] === 'core') {
- // return 'logicflow_core'
- // } else {
- // return 'logicflow_extension'
- // }
- break;
- default:
- return 'vendors'
- }
- }
- }
- },
- },
- },
- plugins: [
- vue(),
- vueJsx(),
- createSvgIconsPlugin({
- // 指定需要缓存的图标文件夹
- iconDirs: [path.resolve(process.cwd(), 'src/assets/icons')],
- // 指定symbolId格式
- symbolId: 'icon-[dir]-[name]',
- }),
- vite2Ext({
- dir: 'mock'
- }) as any,
- // Components({
- // dts: true,
- // resolvers: [AntDesignVueResolver()],
- // include: [/\.vue$/, /\.tsx$/],
- // }),
- PkgConfig(),
- OptimizationPersist(),
- vueSetupExtend(),
- lifecycle === 'report' ? visualizer({ gzipSize: true, open: true, brotliSize: true, filename: 'report.html' }) : null
- ],
- resolve: {
- alias: [
- {
- find: 'vue-i18n',
- replacement: 'vue-i18n/dist/vue-i18n.cjs.js',
- },
- {
- find: '@',
- replacement: fileURLToPath(new URL('./src', import.meta.url))
- }
- ],
- },
- server: {
- port: 9102,
- proxy: {
- //-----------------------------财务请求代理--------------------------------
- '/zz-pack': {
-
- // target: 'http://localhost:8090/zz-pack/',
- target: 'http://192.168.1.206:12206/zz-pack/',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/zz-pack/, '')
- },
- '/zz_rpt': {
-
- // target: 'http://localhost:8090/zz-pack/',
- target: 'http://192.168.1.206:12206/zz-pack/',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/zz-pack/, '')
- },
- //-------------------------------工作流请求代理--------------------------------
- '/dhcFlowable': {
- //target: 'http://114.116.37.212:9043/dhcc_flow',
- target: ' http://172.16.2.34:7888/cwsys-service/',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^/, '')
- },
- //-------------------------------前端模拟数据使用--------------------------
- '/workflow/api': {
- target: 'http://localhost:8888/',
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/workflow\/api/, '')
- }
- },
- },
- css: {
- preprocessorOptions: {
- less: {
- // modifyVars: generateModifyVars(),
- javascriptEnabled: true,
- },
- },
- },
-
- })
|