case-data-admin/test-build.js
2025-08-11 11:41:22 +08:00

94 lines
2.5 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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/' : '/'")) {
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');