Files
telegram-management-system/check-vite-errors.js
你的用户名 237c7802e5
Some checks failed
Deploy / deploy (push) Has been cancelled
Initial commit: Telegram Management System
Full-stack web application for Telegram management
- Frontend: Vue 3 + Vben Admin
- Backend: NestJS
- Features: User management, group broadcast, statistics

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-04 15:37:50 +08:00

104 lines
3.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const { chromium } = require('playwright');
(async () => {
let browser;
try {
console.log('启动浏览器检查Vite错误...');
browser = await chromium.launch({
headless: false,
slowMo: 300
});
const context = await browser.newContext({
viewport: { width: 1920, height: 1080 }
});
const page = await context.newPage();
// 收集所有控制台消息
const consoleMessages = [];
page.on('console', msg => {
const messageObj = {
type: msg.type(),
text: msg.text(),
location: msg.location()
};
consoleMessages.push(messageObj);
// 立即打印错误和警告
if (msg.type() === 'error' || msg.type() === 'warning') {
console.log(`\n${msg.type().toUpperCase()}: ${msg.text()}`);
if (msg.location().url) {
console.log(`位置: ${msg.location().url}:${msg.location().lineNumber}`);
}
}
});
// 监听页面错误
page.on('pageerror', error => {
console.log('\n页面错误:', error.message);
console.log(error.stack);
});
// 监听网络失败
page.on('requestfailed', request => {
if (request.url().includes('.ts') || request.url().includes('.vue') || request.url().includes('.js')) {
console.log('\n请求失败:', request.url());
console.log('失败原因:', request.failure()?.errorText);
}
});
// 访问首页
console.log('\n访问首页...');
await page.goto('http://localhost:5174/', { waitUntil: 'networkidle' });
await page.waitForTimeout(2000);
// 打开开发者工具的控制台
console.log('\n打开开发者工具...');
await page.keyboard.press('F12');
await page.waitForTimeout(1000);
// 刷新页面以捕获所有错误
console.log('\n刷新页面...');
await page.reload({ waitUntil: 'networkidle' });
await page.waitForTimeout(3000);
// 总结所有错误
console.log('\n\n========== 错误总结 ==========');
const errors = consoleMessages.filter(m => m.type === 'error');
const warnings = consoleMessages.filter(m => m.type === 'warning');
console.log(`错误数量: ${errors.length}`);
console.log(`警告数量: ${warnings.length}`);
if (errors.length > 0) {
console.log('\n所有错误:');
errors.forEach((err, index) => {
console.log(`\n错误 ${index + 1}:`);
console.log(err.text);
if (err.location.url) {
console.log(`文件: ${err.location.url}`);
}
});
}
// 检查Vite错误覆盖层
const viteError = await page.locator('.vite-error-overlay').count();
if (viteError > 0) {
console.log('\n发现Vite错误覆盖层!');
const errorText = await page.locator('.vite-error-overlay').textContent();
console.log('Vite错误内容:');
console.log(errorText);
}
console.log('\n保持浏览器打开您可以查看控制台...');
await new Promise(() => {});
} catch (error) {
console.error('出错了:', error);
if (browser) {
await browser.close();
}
}
})();