const ejs = require('ejs'); const path = require('path'); const fs = require('fs'); // 测试分页组件是否能正确渲染 function testPaginationComponent() { console.log('测试分页组件...\n'); try { // 读取分页组件文件 const paginationPath = path.join(__dirname, 'views', 'components', 'pagination.ejs'); if (fs.existsSync(paginationPath)) { console.log('✅ 分页组件文件存在'); // 读取组件内容 const componentContent = fs.readFileSync(paginationPath, 'utf8'); console.log('✅ 分页组件文件读取成功'); // 测试数据 const testData = { currentPage: 3, totalPages: 10, baseUrl: '/admin/posts', query: { search: 'test' } }; // 尝试渲染组件 const rendered = ejs.render(componentContent, testData); console.log('✅ 分页组件渲染成功'); // 检查渲染结果 if (rendered.includes('pagination')) { console.log('✅ 分页组件包含正确的HTML结构'); } console.log('\n分页组件测试通过!'); } else { console.log('❌ 分页组件文件不存在'); } } catch (error) { console.error('❌ 测试失败:', error.message); } } // 测试路径解析 function testPathResolution() { console.log('\n测试路径解析...\n'); const paths = [ 'views/components/pagination.ejs', 'views/admin/users/list.ejs', 'views/admin/posts/list.ejs', 'views/admin/comments/list.ejs' ]; paths.forEach(filePath => { const fullPath = path.join(__dirname, filePath); if (fs.existsSync(fullPath)) { console.log(`✅ ${filePath} 存在`); } else { console.log(`❌ ${filePath} 不存在`); } }); } // 运行测试 testPaginationComponent(); testPathResolution();