import { defineConfig, loadEnv } from 'vite' import path from 'path' import createVitePlugins from './vite/plugins' // https://vitejs.dev/config/ export default defineConfig(({ mode, command }) => { const env = loadEnv(mode, process.cwd()) return { // 部署生产环境和开发环境下的URL。 // 默认情况下,vite 会假设你的应用是被部署在一个域名的根路径上 // 例如 https://www.ruoyi.vip/。如果应用被部署在一个子路径上,你就需要用这个选项指定这个子路径。例如,如果你的应用被部署在 https://www.ruoyi.vip/admin/,则设置 baseUrl 为 /admin/。 base: env.VITE_APP_CONTEXT_PATH, plugins: createVitePlugins(env, command === 'build'), resolve: { // https://cn.vitejs.dev/config/#resolve-alias alias: { // 设置路径 '~': path.resolve(__dirname, './'), // 设置别名 '@': path.resolve(__dirname, './src/admin'), // 设置别名 '@map': path.resolve(__dirname, './src/ldmap/'), '@index': path.resolve(__dirname, './src/index/'), }, // https://cn.vitejs.dev/config/#resolve-extensions extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json', '.vue'] }, // vite 相关配置 server: { port: 80, host: true, open: true, headers: { "Cross-Origin-Opener-Policy": "same-origin", "Cross-Origin-Embedder-Policy": "require-corp", }, proxy: { // https://cn.vitejs.dev/config/#server-proxy '/dev-api': { target: 'http://119.3.156.115:8080/', changeOrigin: true, rewrite: (p) => p.replace(/^\/dev-api/, '') }, '/map-api': { target: 'http://58.210.252.154:9080/', changeOrigin: true, rewrite: (p) => p.replace(/^\/map-api/, '') }, '/water-api': { target: 'http://water.lidinghb.com:8081/', changeOrigin: true, rewrite: (p) => p.replace(/^\/water-api/, '') }, '/plan-api': { target: 'http://water.lidinghb.com:9070/', changeOrigin: true, rewrite: (p) => p.replace(/^\/plan-api/, '') }, '/afterSales-api': { target: 'http://119.3.156.115:9050/', changeOrigin: true, rewrite: (p) => p.replace(/^\/afterSales-api/, '') }, '/arcgis': { target: 'http://139.224.252.239:6080', changeOrigin: true, rewrite: (p) => p.replace(/^\/arcgis-map/, '') }, } }, //fix:error:stdin>:7356:1: warning: "@charset" must be the first rule in the file css: { postcss: { plugins: [ { postcssPlugin: 'internal:charset-removal', AtRule: { charset: (atRule) => { if (atRule.name === 'charset') { atRule.remove(); } } } } ] } }, build:{ minify:'terser', terserOptions: { compress: { drop_console: true, drop_debugger: true } }, rollupOptions:{ input:{ index:'./index.html', admin:'./admin.html', ldmap:'./ldmap.html', }, output:{ manualChunks(id){ if(id.includes('node_modules')){ if(id.includes('excel')){ return 'excel' } if(id.includes('mapbox')){ return 'mapbox' } if(id.includes('mxdraw')){ return 'mxdraw' } if(id.includes('three')){ return 'three' } if(id.includes('echarts')){ return 'echarts' } if(id.includes('moment')){ return 'moment' } } } } }, //关闭文件计算 reportCompressedSize:false, //关闭生成map文件 减小打包体积 sourcemap:false, } } })