case-data-admin/test-build.js
2025-08-11 11:50:42 +08:00

94 lines
2.5 KiB
JavaScript
Raw Permalink 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/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');