1.不同的生产环境部署
解决不同生产环境的上线地址问题
1.根文件html文件 <script src="%VITE_APP_BASE%config.js"></script>
  2.所有的这个.env环境变量文件增加属性 VITE_APP_BASE = "/data-registry/"
  3.viteconfig文件 import { defineConfig, loadEnv } from 'vite'; import { fileURLToPath, URL } from 'node:url'; import { defineConfig, loadEnv } from 'vite'; import vue from '@vitejs/plugin-vue'; import VueDevTools from 'vite-plugin-vue-devtools'; export default ({ mode }: any) => {   // 根据当前工作目录中的 `mode` 加载 .env 文件   // 设置第三个参数为 '' 来加载所有环境变量,而不管是否有 `VITE_` 前缀。   const env = loadEnv(mode, process.cwd());   let baseVal = env.VITE_APP_BASE;   if (baseVal === '') {     baseVal = '/';   }   return defineConfig({     base: baseVal,     plugins: [vue(), VueDevTools()],     resolve: {       alias: {         '@': fileURLToPath(new URL('./src', import.meta.url))       }     },     css: {       preprocessorOptions: {         less: {           additionalData:             '@import "@/assets/styles/common.less";@import "@/assets/styles/new-variables.less";'         }       }     },     build: {       outDir: 'dist', // 这里配置打包输出的文件夹       sourcemap: true     }   }); }; 4.package.json 文件  	"build": "vite build",     "build-kaifa": "run-p  \"build-only --mode kaifa {@}\" --",     "build-yanshi": "run-p  \"build-only --mode yanshi {@}\" --",     "build-zhongdian": "run-p  \"build-only --mode zhongdian {@}\" --",
   | 
 
2.前端项目生产环境变量
解决不同生产环境的差异性配置,例如在哪个环境需要做哪些事情
1.在public文件夹下面,新建一个config.js文件
  window.AppConfig = {   ServerAddr: 'http://27.115.98.190:31060',   Header: 'http://',   Path: '',   CurrentEnv: 'dalian' //是否是大连环境 如果是就写 dalian 区别不同生成环境 yanshi 就是稳定环境 kaifa就是开发环境 };
   | 
 
2.配置该文件的变量类型,新建一个env.d.ts declare global {   interface Window {     AppConfig: {       ServerAddr: string;       Header: string;       Path: string;       CurrentEnv:string;     };   }   interface ImportMetaEnv {     VITE_APP_VERSION: string;     VITE_API_BASE_URL: string;   } }
   | 
 
3.项目中通过window.AppConfig.CurrentEnv进行访问 4.生产环境中,需要后端同时挂载配置该文件,否则不生效
   | 
 
3.前端项目生产环境变量
解决不同生产环境的照片显示,下载文件,内外网问题
1.新建一个文件,例如config.ts // 获取服务器地址配置 function getServerUrl(): string {   const config = window.AppConfig;   const addr = window.location.host;
    // 检查是否在生产环境且配置了 ServerAddr   if (import.meta.env.MODE === 'production' && config.ServerAddr !== '') {     return config.ServerAddr;   }
    // 开发环境或生产环境未配置 ServerAddr 时使用 VITE_API_BASE_URL   const defaultBaseUrl = import.meta.env.VITE_API_BASE_URL;   if (defaultBaseUrl) {     return defaultBaseUrl;   }
    // 如果以上都不适用,尝试使用 AppConfig 中的 Header, Path 和当前域名拼接(注意:这通常不是标准做法)   // 警告:这种拼接方式可能不正确,通常 URL 应该包括协议(如 http:// 或 https://)   // 这里假设 Header 是协议部分,如果不是,请根据实际情况调整   return `${config.Header || 'http://'}${addr}${config.Path || ''}`; }
  export default { getServerUrl };
 
   |