Files
doc_ai_frontend/src/main.tsx

42 lines
1.2 KiB
TypeScript
Raw Normal View History

2025-12-22 17:37:41 +08:00
import { StrictMode } from 'react';
import { createRoot } from 'react-dom/client';
import App from './App.tsx';
import './index.css';
import { AuthProvider } from './contexts/AuthContext';
2026-01-24 13:53:50 +08:00
import { LanguageProvider } from './contexts/LanguageContext';
2025-12-22 17:37:41 +08:00
2026-01-27 23:44:18 +08:00
// 错误处理:捕获未处理的错误
window.addEventListener('error', (event) => {
console.error('Global error:', event.error);
});
window.addEventListener('unhandledrejection', (event) => {
console.error('Unhandled promise rejection:', event.reason);
});
const rootElement = document.getElementById('root');
if (!rootElement) {
throw new Error('Root element not found');
}
try {
createRoot(rootElement).render(
<StrictMode>
<AuthProvider>
<LanguageProvider>
<App />
</LanguageProvider>
</AuthProvider>
</StrictMode>
);
} catch (error) {
console.error('Failed to render app:', error);
rootElement.innerHTML = `
<div style="padding: 20px; font-family: sans-serif;">
<h1></h1>
<p>错误信息: ${error instanceof Error ? error.message : String(error)}</p>
<p></p>
</div>
`;
}