123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196 |
- import { defineConfig, loadEnv } from 'vite'
- import vue from '@vitejs/plugin-vue'
- import path from 'path'
- //@ts-ignore
- import viteCompression from 'vite-plugin-compression'
- import VueLayouts from 'vite-plugin-vue-layouts'
- import legacy from '@vitejs/plugin-legacy'
- // import vueExtend from 'vite-plugin-vue-setup-extend'
-
-
- // https://vitejs.dev/config/
- export default defineConfig(({ command, mode }) => {
- //https://blog.csdn.net/huanglgln/article/details/121635053 vite获取.env.development配置环境
- // 使用 import.meta.env.VITE_APP_BASE_URL
- //loadEnv(mode, process.cwd())
-
- const env = loadEnv(mode, process.cwd())
-
- return {
- base: './', //打包路径
- // ...其他配置...
- optimizeDeps: {
- include: [
- 'vue',
- 'vue-router',
- 'pinia', // 如果你用了 Pinia
- // 其他核心依赖...
- ],
- exclude: [
- // 'lodash', // 排除已知重型依赖
- 'moment' // 排除已知重型依赖
- ]
- },
- plugins: [
- // legacy({
- // // targets: ['defaults'], // 需要兼容的目标列表,可以设置多个 , 'not IE 11'
- // // additionalLegacyPolyfills: ['regenerator-runtime/runtime'] // 面向IE11时需要此插件
- // }),
- vue(),
- VueLayouts(),
-
- // gzip压缩 生产环境生成 .gz 文件
- viteCompression({
- threshold: 10240,
- verbose: true,
- disable: false,
- algorithm: 'gzip',
- ext: '.gz',
- }),
-
- // vueExtend()
- ],
- // 配置别名
- resolve: {
- alias: {
- '@': path.resolve(__dirname, 'src'),
- '/icon': './src/assets/ioc', //图片路径别名
- },
- },
- define: {
- //定义 process
- 'process.env': process.env,
- },
- css: {
- preprocessorOptions: {
- scss: {
- //引入全局样式
- additionalData: '@import "@/assets/style/mian.scss";',
- api: 'modern-compiler',
- },
- },
- },
- entry: {
- index: ['babel-polyfill', './src/main.ts'],
- },
- //启动服务配置
- server: {
- host: 'localhost',
- port: 8085,
- // hmr: true, // 确保 HMR 启用
- // force: true, // 强制依赖预构建(vite 3.x+)
- // open: true, // 类型: boolean | string在服务器启动时自动在浏览器中打开应用程序;
- cors: true, // 类型: boolean | CorsOptions 为开发服务器配置 CORS。默认启用并允许任何源
- watch: {
- usePolling: true, // 轮询文件变化
- interval: 1000 // 每秒检查一次
- },
- hmr: {
- host: 'localhost', // 显式指定 host
- port: 5173, // 指定端口(需与 dev server 一致)
- protocol: 'ws' // 强制使用 WebSocket
- },
- proxy: {
- '/common': {
- target: 'https://medusa.etcjz.cn', //这里填入你要请求的接口的前缀
- changeOrigin: true, //虚拟的站点需要更管origin
- ws: true,
- secure: true, //是否https接口
- pathRewrite: {
- '^/common': '', //请求的时候使用这个api就可以
- },
- // rewrite: (path) => path.replace(/^\/common/, ''), //重写
- },
- //跨域代理
- '/corporateaccount': {
- target: process.env.VUE_APP_BASE_API,
- changeOrigin: true,
- rewrite: (path) => path.replace(/^\/api/, ''), //重写
- },
- '/api': {
- // target: env.VITE_APP_BASE_URL + 'ifzt',
- target: env.VITE_APP_BASE_URL,
- changeOrigin: true,
- },
- '/instorage': {
- target: env.VITE_APP_EXPORT_URL,
- changeOrigin: true,
- },
- '/minIo': {
- target: env.VITE_APP_UPLOAD_URL,
- changeOrigin: true,
- },
- '/uploadEtcFile': {
- target: 'http://100.65.11.2:8086',
- changeOrigin: true,
- },
- '/sett-minio': {
- target: env.VITE_APP_UPLOAD_URL,
- changeOrigin: true,
- },
- '/default-bucket/': {
- target: env.VITE_APP_UPLOAD_URL,
- changeOrigin: true,
- },
- // 新地址
- '/userw': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/newDev': {
- target: env.VITE_APP_EXPORT_URL_NEW,
- changeOrigin: true,
- },
- '/invw': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/iaw': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/settlew': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/managew': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/ifmw': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/msgw': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/iasq': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- '/settq': {
- target: env.VITE_APP_BASE_URL_N,
- changeOrigin: true,
- },
- },
- },
- // 生产环境打包配置
- //去除 console debugger
- build: {
- // target: ['chrome52'],
- // cssTarget: ["chrome52"],
- // rollupOptions: {
- // input: 'src/main.ts' // 根据您的实际入口文件路径进行设置
- // },
- minify: 'terser',
- terserOptions: {
- compress: {
- //生产环境移除 console
- drop_console: true,
- drop_debugger: true,
- },
- },
- },
- }
- })
|