| | |
| | | |
| | | # æå»ºæµè¯ç¯å¢ yarn build:stage |
| | | # æå»ºç产ç¯å¢ yarn build:prod |
| | | # æå»ºç产ç¯å¢ yarn build:prod -- --company="AAA" |
| | | # å端访é®å°å http://localhost:80 |
| | | ``` |
| | | |
| | |
| | | <meta name="renderer" content="webkit"> |
| | | <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> |
| | | <link rel="icon" href="/favicon.ico"> |
| | | <title>é西æå¾·ç¯ä¿åç
¤æéå
¬å¸</title> |
| | | <title>%VITE_APP_TITLE%</title> |
| | | <!--[if lt IE 11]><script>window.location.href='/html/ie.html';</script><![endif]--> |
| | | <style> |
| | | html, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | { |
| | | "default": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "è¯å¯¼äºï¼ç®¡çä¿¡æ¯ç³»ç»ï¼" |
| | | }, |
| | | "screen": "screen/JZYJView.png", |
| | | "logo": "logo/HYSNLogo.png", |
| | | "favicon": "favicon/HYSNico.ico" |
| | | }, |
| | | "TEST": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "ä¸å°ä¼ä¸æ°åå转åäºçº§å¥é¤å
", |
| | | "VITE_BASE_API": "http://114.132.189.42:7016" |
| | | }, |
| | | "screen": "screen/HYSNView.png", |
| | | "logo": "logo/LCLogo.png", |
| | | "favicon": "favicon/BHMY.ico" |
| | | }, |
| | | "XYHB": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "宣屹ç¯ä¿ä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9054", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9053" |
| | | }, |
| | | "screen": "screen/XYHBView.png", |
| | | "logo": "logo/XYHBLogo.png", |
| | | "favicon": "favicon/XYHBico.ico" |
| | | }, |
| | | "BHMY": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "åå®ç
¤ä¸ä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9072", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9071" |
| | | }, |
| | | "screen": "screen/ZQHXView.png", |
| | | "logo": "logo/BHMYLogo.png", |
| | | "favicon": "favicon/BHMY.ico" |
| | | }, |
| | | "RZNY": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "éæ©è½æºä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9060", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9059" |
| | | }, |
| | | "screen": "screen/RZNYView.png", |
| | | "logo": "logo/RZNYLogo.png", |
| | | "favicon": "favicon/RZNY.ico" |
| | | }, |
| | | "TJXM": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "æ³°æ±æ´ç
¤ä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9066", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9065" |
| | | }, |
| | | "screen": "screen/TJXMView.png", |
| | | "logo": "logo/TJXMLogo.png", |
| | | "favicon": "favicon/TJXM.ico" |
| | | }, |
| | | |
| | | "CJNY": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "åå·¨è½æºä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9040", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9041" |
| | | }, |
| | | "screen": "screen/MXSCBack.png", |
| | | "logo": "logo/CJNYLogo.png", |
| | | "favicon": "favicon/CJNYico.ico" |
| | | }, |
| | | "JSMY": { |
| | | "env": { |
| | | "VITE_APP_TITLE": "éç³ç
¤ä¸ä¿¡æ¯ç®¡çç³»ç»", |
| | | "VITE_BASE_API": "http://114.132.189.42:9044", |
| | | "VITE_JAVA_API": "http://114.132.189.42:9045" |
| | | }, |
| | | "screen": "screen/MXSCBack.png", |
| | | "logo": "logo/JSMYLogo.png", |
| | | "favicon": "favicon/JSMYico.ico" |
| | | }, |
| | | "screen": "/src/assets/images/login-background.png", |
| | | "logo": "/src/assets/logo/logo.png", |
| | | "favicon": "/public/favicon.ico" |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | import fs from 'fs/promises'; |
| | | import fsSync from 'fs'; |
| | | import path from 'path'; |
| | | import { fileURLToPath } from 'url'; |
| | | import { execSync } from "child_process"; |
| | | |
| | | // è·å __dirname |
| | | const __filename = fileURLToPath(import.meta.url); |
| | | const __dirname = path.dirname(__filename); |
| | | |
| | | // 读å JSON é
ç½® |
| | | const data = await fs.readFile(path.join(__dirname, 'config.json'), 'utf-8'); |
| | | const config = JSON.parse(data); |
| | | |
| | | // 项ç®è·¯å¾ |
| | | const rootPath = path.resolve(__dirname, '..'); |
| | | const resourcePath = path.join(rootPath, 'multiple', 'assets'); |
| | | const replacePath = path.join(rootPath, 'replace'); |
| | | |
| | | // è·åå½ä»¤è¡åæ° |
| | | const params = parseArgs(process.argv); |
| | | const company = params["company"] ?? "default"; |
| | | const companyMap = config[company]; |
| | | |
| | | const envFilePath = path.join(process.cwd(), '.env.production.local'); |
| | | |
| | | try { |
| | | // 1ï¸â£ çæ .env |
| | | console.log("=======çæ.env======="); |
| | | const envContent = Object.entries(companyMap.env) |
| | | .map(([key, value]) => `${key}='${value}'`) |
| | | .join('\n') + '\n'; |
| | | await fs.writeFile(envFilePath, envContent, 'utf-8'); |
| | | |
| | | // 2ï¸â£ å¤ä»½åå§èµæºå¹¶æ¿æ¢ |
| | | console.log("=======ä¿®æ¹èµæº======="); |
| | | for (const [key, value] of Object.entries(companyMap)) { |
| | | if (key === 'env') continue; |
| | | |
| | | const originFile = path.join(rootPath, config[key]); |
| | | const backupFile = path.join(replacePath, config[key]); |
| | | const replaceFile = path.join(resourcePath, companyMap[key]); |
| | | |
| | | await fs.mkdir(path.dirname(backupFile), { recursive: true }); |
| | | await fs.copyFile(originFile, backupFile); |
| | | await fs.copyFile(replaceFile, originFile); |
| | | } |
| | | |
| | | console.log("=====å¼å§æå
======"); |
| | | execSync("vite build", { stdio: "inherit" }); |
| | | console.log("=====æå
宿======"); |
| | | } finally { |
| | | console.log("=====æ¢å¤èµæº======"); |
| | | |
| | | // å é¤ä¸´æ¶ .env æä»¶ |
| | | if (fsSync.existsSync(envFilePath)) { |
| | | await fs.unlink(envFilePath); |
| | | console.log(`ðï¸ å·²å é¤ ${envFilePath}`); |
| | | } |
| | | |
| | | // æ¢å¤èµæºæä»¶ |
| | | if (fsSync.existsSync(replacePath)) { |
| | | for (const [key, value] of Object.entries(companyMap)) { |
| | | if (key === 'env') continue; |
| | | |
| | | const originFile = path.join(rootPath, config[key]); |
| | | const backupFile = path.join(replacePath, config[key]); |
| | | |
| | | await fs.copyFile(backupFile, originFile); |
| | | } |
| | | await fs.rm(replacePath, { recursive: true, force: true }); |
| | | console.log(`ðï¸ å·²å é¤ ${replacePath}`); |
| | | } |
| | | } |
| | | |
| | | // ç®åå½ä»¤è¡åæ°è§£æ |
| | | function parseArgs(argv) { |
| | | const params = {}; |
| | | for (const arg of argv.slice(2)) { |
| | | if (arg.startsWith('--')) { |
| | | const [key, value] = arg.slice(2).split('='); |
| | | params[key] = value ?? true; |
| | | } |
| | | } |
| | | return params; |
| | | } |
| | |
| | | "type": "module", |
| | | "scripts": { |
| | | "dev": "vite", |
| | | "build": "vite build", |
| | | "build:prod": "node multiple/multiple-build.js", |
| | | "build:stage": "vite build --mode staging", |
| | | "preview": "vite preview" |
| | | }, |
| | |
| | | import path from 'path' |
| | | import createVitePlugins from './vite/plugins' |
| | | |
| | | const baseUrl = 'http://114.132.189.42:7016' // å端æ¥å£ |
| | | // const baseUrl = 'http://114.132.189.42:7016' // å端æ¥å£ |
| | | // const baseUrl = 'http://114.132.189.42:7016' |
| | | // const baseUrl = 'http://10.42.128.207:7016' // å端æ¥å£ |
| | | // const baseUrl = 'http://192.168.1.144:7016' // å端æ¥å£ |
| | | // const baseUrl = 'http://10.36.17.159:7016' // å端æ¥å£ |
| | | |
| | | // https://vitejs.dev/config/ |
| | | export default defineConfig(({ mode, command }) => { |
| | | const env = loadEnv(mode, process.cwd()) |
| | | const { VITE_APP_ENV } = env |
| | | const baseUrl = |
| | | env.VITE_APP_ENV === "development" |
| | | ? "http://114.132.189.42:7016" |
| | | : env.VITE_BASE_API; |
| | | return { |
| | | // é¨ç½²ç产ç¯å¢åå¼åç¯å¢ä¸çURLã |
| | | // é»è®¤æ
åµä¸ï¼vite ä¼åè®¾ä½ çåºç¨æ¯è¢«é¨ç½²å¨ä¸ä¸ªååçæ ¹è·¯å¾ä¸ |