# 克隆项目
git clone <repository-url>
cd spell-app
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
# 预览生产构建
npm run preview
开发服务器启动后,在浏览器中访问:
http://localhost:5173
spell-app/
├── public/ # 静态资源
│ └── vite.svg # 网站图标
├── src/
│ ├── components/ # Svelte 组件
│ │ ├── FavoritesList.svelte # 收藏列表组件
│ │ ├── FeedbackAnimation.svelte # 反馈动画组件
│ │ ├── ProgressBar.svelte # 进度条组件
│ │ ├── ResultsView.svelte # 结果页面组件
│ │ ├── SpellingCard.svelte # 拼写卡片组件
│ │ └── WordBadge.svelte # 词性标签组件
│ ├── lib/ # 核心库
│ │ ├── analytics.js # 数据分析模块
│ │ ├── audioService.js # 音频服务模块
│ │ ├── storage.js # 本地存储模块
│ │ ├── wordDatabase.js # 单词数据库(290+ 词汇)
│ │ └── wordGenerator.js # 单词生成器
│ ├── App.svelte # 主应用组件
│ ├── app.css # 全局样式
│ ├── main.ts # 应用入口
│ └── counter.ts # 计数器工具
├── index.html # HTML 入口
├── package.json # 项目配置
├── tsconfig.json # TypeScript 配置
├── vite.config.js # Vite 配置
└── README.md # 项目文档
应用提供 5 种不同的拼写模式,通过 wordGenerator.js 实现:
// 示例:单词 "beautiful"
PREFIX: "___utiful" // 填写 "bea"
SUFFIX: "beauti___" // 填写 "ful"
MIDDLE: "be____ful" // 填写 "auti"
SINGLE: "be_utiful" // 填写 "a"
MULTIPLE: "_e_u_i_ul" // 填写 "batf"
基于 Web Speech API 实现:
// 支持的语音
- 英式英语(en-GB)
- 美式英语(en-US)
- 自动降级处理
// LocalStorage Keys
spelling_favorites // 收藏的单词
spelling_history // 练习历史(最多50条)
spelling_errors // 错题记录(带错误次数)
spelling_stats // 统计数据
/* 主色调 */
--primary: #6366f1 /* 靛蓝色 */
--secondary: #ec4899 /* 粉红色 */
--accent: #14b8a6 /* 青色 */
/* 功能色 */
--success: #10b981 /* 成功绿 */
--error: #ef4444 /* 错误红 */
--warning: #f59e0b /* 警告橙 */
/* 背景色 */
--bg-primary: #0f172a /* 深蓝黑 */
--bg-secondary: #1e293b /* 次级背景 */
--bg-tertiary: #334155 /* 三级背景 */
/* 主渐变 */
--gradient-primary: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
/* 功能渐变 */
--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);
--gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
| 难度等级 | 描述 | 词汇量 | 占比 |
|---|---|---|---|
| 1-2 | 基础词汇 | ~90 | 31% |
| 3 | 四级词汇 | ~80 | 28% |
| 4 | 四六级词汇 | ~70 | 24% |
| 5 | 六级词汇 | ~40 | 14% |
| 6 | 高级词汇 | ~10 | 3% |
// vite.config.js
export default defineConfig({
plugins: [svelte()],
server: {
port: 5173,
open: true
}
})
{
"compilerOptions": {
"target": "ES2020",
"module": "ESNext",
"lib": ["ES2020", "DOM", "DOM.Iterable"],
"moduleResolution": "bundler",
"strict": true
}
}
练习结束后,系统会显示:
欢迎提交 Issue 和 Pull Request!
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 详见 LICENSE 文件
如有问题或建议,欢迎联系:
⭐ 如果这个项目对你有帮助,请给它一个星标!
Made with ❤️ and Svelte