#!/usr/bin/env node /* * 构建测试脚本 * 用于验证vite配置是否正确 */ import { execSync } from 'child_process'; import fs from 'fs'; import path from 'path'; console.log('🧪 开始测试构建配置...\n'); // 检查配置文件 const configFiles = [ 'vite.config.js', 'vite.config.dev-server.js', 'package.json', '.env.dev-server' ]; console.log('📋 检查配置文件:'); configFiles.forEach(file => { if (fs.existsSync(file)) { console.log(` ✅ ${file} 存在`); } else { console.log(` ❌ ${file} 不存在`); } }); // 检查package.json中的脚本 console.log('\n📜 检查构建脚本:'); try { const packageJson = JSON.parse(fs.readFileSync('package.json', 'utf8')); const scripts = packageJson.scripts; if (scripts['build:dev-server']) { console.log(` ✅ build:dev-server: ${scripts['build:dev-server']}`); } else { console.log(` ❌ build:dev-server 脚本不存在`); } if (scripts['build:test']) { console.log(` ✅ build:test: ${scripts['build:test']}`); } else { console.log(` ❌ build:test 脚本不存在`); } } catch (error) { console.log(` ❌ 无法读取package.json: ${error.message}`); } // 检查环境变量 console.log('\n🌍 检查环境变量:'); try { const envContent = fs.readFileSync('.env.dev-server', 'utf8'); const lines = envContent.split('\n'); lines.forEach(line => { if (line.trim() && !line.startsWith('#')) { const [key, value] = line.split('='); if (key && value) { console.log(` ${key.trim()}: ${value.trim()}`); } } }); } catch (error) { console.log(` ❌ 无法读取.env.dev-server: ${error.message}`); } // 检查vite配置 console.log('\n⚙️ 检查vite配置:'); try { const viteConfig = fs.readFileSync('vite.config.js', 'utf8'); if (viteConfig.includes("base: process.env.NODE_ENV === 'production' ? '/admin/web/' : '/'")) { console.log(' ✅ base路径配置正确'); } else { console.log(' ❌ base路径配置不正确'); } if (viteConfig.includes('assets/js/[name]-[hash].js')) { console.log(' ✅ JS文件路径配置正确'); } else { console.log(' ❌ JS文件路径配置不正确'); } } catch (error) { console.log(` ❌ 无法读取vite.config.js: ${error.message}`); } console.log('\n🎯 配置检查完成!'); console.log('💡 如果所有检查都通过,可以运行以下命令进行构建测试:'); console.log(' npm run build:dev-server'); console.log(' 或者'); console.log(' ./build-dev-server.sh');