| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
学习英语,一次敲击,一点进步;记忆不再盲目,学习更高效,开源单词练习工具
https://www.bilibili.com/video/BV1NBbF6EE8L
本仓库是 zyronon/TypeWords 的 fork,专注于本地优先的单词打字练习。
仓库内置 CET-4、雅思词汇真经 等常用词库。
词库目录(public/list/word.json)与词库数据(public/dicts/en/word/*.json)都是普通 JSON 文件,新增词库不需要改动代码。也非常欢迎社区贡献更多的词库。
| 层 | 选型 |
|---|---|
| 框架 | Nuxt 4 + Vue 3.5 |
| 状态 | Pinia |
| 样式 | UnoCSS + SCSS(CSS 变量主题) |
| 记忆算法 | ts-fsrs |
| 存储 | idb-keyval(IndexedDB),可选 Supabase 云同步 |
| 国际化 | @nuxtjs/i18n,14 种语言,Excel 工作流 |
| 测试 | Vitest |
app/
pages/
(words)/ # /words、/dict-list、/dict、/practice-words、/words-test
setting.vue # 设置页
index.vue # 落地页
layouts/ # default(侧栏 + 初始化)/ empty(落地页)
components/ # 业务组件:word / setting / list / dialog
base/ # 自研 UI 组件,不依赖 Element/Ant
core/
stores/ # Pinia 状态
composables/
practice-words/ # 单词练习引擎:流程配置、键入、会话、缓存恢复
hooks/ # dict / fsrs / sound / theme / export
types/ # Word / Dict / 枚举
utils/ # 加载、升级、资源路径、同步策略
apis/ # 查词 HTTP
public/
dicts/en/word/ # 官方词库(只读 JSON)
list/ # 词库目录
sound/ # 键盘音效
i18n/ # i18n.xlsx(源)+ 生成的语言 JSON
tests/ # Vitest 单元测试
docs/ # 贡献指南、改造基线等文档
本项目是基于Nuxt开发的,需要 node 环境来运行(推荐 Node.js 20+)。
| 命令 | 说明 |
|---|---|
| pnpm dev | 启动开发服务器,端口 5567 |
| pnpm test | 运行 Vitest 单元测试(改动练习引擎后请运行) |
| pnpm generate | 打包静态站点 |
| pnpm i18n:write | 编辑 i18n/i18n.xlsx 后重新生成语言文件 |
| ./scripts/build-static.sh | 构建静态镜像并推送到 Docker Hub(详见部署文档) |
推荐用 Docker 部署静态镜像(nginx 托管静态产物,约 33MB,无需 Node 运行时):
./scripts/build-static.sh # 构建并推送镜像(读取 .env 烘焙站点配置)
# 服务器上
docker compose pull && docker compose up -d完整流程(域名、HTTPS 证书、nginx 反代、回滚、故障排查)见 docs/deploy.md。
相关文件:Dockerfile.static(静态镜像)、docker-compose.prod.yml(服务器编排)、deploy/nginx-static.conf(容器内 nginx)、scripts/build-static.sh(一键构建推送)。
站点域名在构建时烘焙:.env 里的 ORIGIN 控制 canonical URL,HOST 控制 og:url 等元数据,改域名需重新构建。
给贡献者的话:
目前项目处于开发初期,新功能正在持续添加中,如果你对软件有任何功能与建议,欢迎在 Issues 中提出 如果你也喜欢本软件的设计思想,欢迎提交 Pr,非常感谢你对我们的支持!
如果您对本项目感兴趣,我们非常欢迎参与到项目的贡献中,我们会尽可能地提供帮助
在贡献前,我们希望您能与开发者进行沟通,以避免代码冲突
再次感谢您对本项目的贡献!🎉
| Back | FazBrowse Home | New Git URL |