AnCao/web/vite.config.ts
yanlongqi 8d10ebc327 优化试卷打印页面布局和分页控制
## 主要改进

### 1. 题型标题和分值说明显示优化
- 将 Ant Design Text 组件改为原生 span 元素,确保在打印时不换行
- 将分值说明嵌套到题型标题内部,强制同行显示
- 适用于所有题型:填空题、判断题、单选题、多选题、简答题、论述题

### 2. 打印分页控制优化
- 添加 page-break-after: avoid 和 page-break-inside: avoid 到关键元素
- 试卷标题和考试说明保持在同一页
- 考试说明和填空题不分页
- 题型标题和第一道题保持在同一页
- 每道题目的所有部分(题干、选项、答题区域)保持完整,不被分页打断
- 题型之间尽量紧密排列,减少空白

### 3. 样式细节调整
- 题型标题使用 flex 布局,确保标题和说明在同一行
- 统一使用 marginLeft: 8px 作为标题和说明之间的间距
- 保持 A4 纸张 1cm 页边距设置

## 修改文件
- web/src/pages/ExamPrint.module.less - 打印样式优化
- web/src/pages/ExamPrint.tsx - 题型标题结构调整

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-01 23:04:39 +08:00

44 lines
1.1 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import path from 'path'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [react()],
base: './', // 使用相对路径,确保打包后资源路径正确
resolve: {
alias: {
'@': path.resolve(__dirname, './src'),
},
},
css: {
preprocessorOptions: {
less: {
javascriptEnabled: true,
// antd 主题定制 - 白色毛玻璃风格
modifyVars: {
'@primary-color': '#007aff', // macOS 蓝色
'@link-color': '#007aff', // 链接色
'@border-radius-base': '12px', // 组件圆角
'@layout-body-background': '#ffffff', // 白色背景
'@component-background': 'rgba(255, 255, 255, 0.8)', // 半透明组件背景
'@border-color-base': 'rgba(0, 0, 0, 0.06)', // 边框色
},
},
},
},
server: {
port: 3000,
proxy: {
'/api': {
target: 'http://127.0.0.1:8080',
changeOrigin: true,
},
},
},
build: {
outDir: 'dist',
assetsDir: 'assets',
},
})