发现一个宝藏网站用来练习英语,越刷越上瘾! Earthworm这是一个通过构造连词句子来学习英语的项目,从最简单的句子开始慢慢发展到能写越来越复杂的句子,你将通过不断的复现练习直至熟练掌握轻松写出长句子。顺道练习英文打字输入。
源码下载可点击右侧网盘下载
官网地址:https://earthworm.cuixueshe.com/
通过用连词造句,可以帮助你更好地学习英语~😊
以下操作均基于当前项目根目录,请注意确保没有错误!
-
pnpm 版本 >= 8
corepack enable
-
Node.js 版本 >= v20
使用 .node-version 中的版本。支持的工具
-
Postgres 版本 >= 14.0.0
-
Redis 版本 >= 5.0.0
-
Docker。请确保它已在您的本地机器上安装并成功运行。
docker --version # Docker version 24.0.7, build afdd53b
node --version # v20+
pnpm -v # 8+
- 安装推荐的扩展extensions.json
pnpm install
./apps/api/.env.example
你可以选择将的内容复制到./apps/api/.env
中。注意,’example’文件内含示例配置。主要存储系统的环境变量信息,比如数据库连接地址,用户名,密码,端口,密钥等,后端服务会从这个文件中读取配置,当然你也可以将其改为你自己的配置信息。
Windows用户建议使用快捷键复制粘贴,Linux用户可以通过以下命令进行操作。
cp ./apps/api/.env.example ./apps/api/.env
cp ./apps/client/.env.example ./apps/client/.env
“logto_db_init_data.zip”中的数据已过时,将很快更新。他不支持[email protected]之后的版本。请手动配置Logto
解压logto_db_init_data.zip
至.volumes/
unzip logto_db_init_data.zip -d .volumes/
- 管理员网址:http://localhost:3011
- 用户名:admin
- 密码:wYJha:-eYMrAe9i
如果你想手动配置 Logto
后端依赖于 Postgres 和 Redis 服务。使用下面配置的命令启动和停止这些服务package.json
。
# start
pnpm docker:start
# When needed, execute the following command
# stop
pnpm docker:stop
# delete
pnpm docker:delete
# Complete deletion (including Volume data)
pnpm docker:down
如果您喜欢手动,可以使用以下命令。
docker compose up -d
docker compose stop
docker compose down
# commands compatible with older versions of Docker
docker-compose up -d
执行此命令的时候尽量和上一个命令保持一点时间,因为-d
刚刚使用的参数会在后台暂停其服务执行,此时docker服务可能还在运行,如果发现错误,则重新执行。
pnpm db:init
仅在初始数据库初始化期间执行此操作。
pnpm db:upload
pnpm dev:serve
pnpm dev:client
提交commit之前先运行测试,测试通过后再提交代码,避免为了解决测试问题而多次提交。
主要是Vitest的单机测试和cypress的自动化测试,执行以下命令:
# Enter the front-end project directory
cd apps/client
# vitest
pnpm test:unit:run
# cypress
pnpm test:e2e:run
# monitor vitest, convenient hot update to see test results
pnpm test:unit:watch
主要是Jest单机测试和端到端测试,但是需要访问测试数据库,因此需要确保:
- Docker Compose中的testdb和testRedis服务启动正常。
- 文件中的配置信息
.env.test
是正确的,如果没有该文件,可以将该apps/api/.env.test.example
文件的内容复制到该apps/api/.env.test
文件中,下面提供了命令直接使用。
执行以下命令:
# Enter Backend Project Directory
cd apps/api
# If you have an.env.test file, you don't need to run this step
cp .env.test.example .env.test
# Single test
pnpm test:unit
# End-to-end testing
pnpm test:e2e
# Single test and end-to-end test run together
pnpm test
项目基于Vitepress文档,执行以下命令:
# Local Development
pnpm docs:dev
我的Docker和里面的数据库都正常运行,但是运行命令的时候db:init
还是报错,提示数据库连接失败。
你可以检查文件中的数据库配置是否.env
正确,甚至这个文件是否有!😠
当您发现课程数据不正确并进行修改时,您应该使用以下命令来更新数据库中的课程数据。
pnpm db:update
有些依赖在安装时需要编译,因此需要有相关的编译环境,如果没有这些环境,编译过程可能会失败。另外,不同的模块可能需要不同的编译环境,因此需要具体问题具体分析。下面是遇到的具体问题及其解决方案。
首先尝试以下命令来更新pnpm
。
pnpm i -g
# or
pnpm i -g pnpm
# or
npx pnpm i -g pnpm@latest
在 Windows 上安装 argon2 模块时出错
- 安装 Visual Studio 2015 或更高版本,特别是“使用 C++ 进行桌面开发”组件。(实际上,任何包含 C++ 开发工具和库的组件都可以。)
- 如果在编译过程中遇到中文显示问题,请
chcp 437
在命令提示符中执行,然后重新运行安装命令。
在 Windows 中使用 WSL2 作为开发环境时,使用以下命令启动 Docker 时出现以下错误docker compose up -d
:
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/containers/json": dial unix /var/run/docker.sock: connect: permission denied
解决方案
将当前用户添加到docker组
# Add docker user group
sudo groupadd docker
# Add the logged-in user to the docker user group
sudo gpasswd -a $USER docker
# Update user group
newgrp docker
# Test if docker command is working properly
docker images
-
请勿破坏 Pinia 商店。
- 使用时可读性会更好
store
- 解构会导致反应性丧失,使用
storeToRefs
也相当麻烦
- 使用时可读性会更好
-
避免在可组合项中包含 UI 逻辑。
- 例如
useMessage
- 我们将路由器归类为 UI 逻辑,为了便于测试,避免在其中包含与路由器相关的逻辑
- 例如
仓库地址
GitHub:https://github.com/cuixueshe/earthworm
本网站所有资源及文章均源自互联网,经过我们的收集整理后呈现给用户。我们明确声明,本网站不直接参与任何资源的创作或制作过程,仅作为信息的传递者。若您发现本网站上的任何内容侵犯了您的合法权益(包括但不限于版权、商标权、专利权等),请立即通过以下联系方式与我们取得联系。在收到您的反馈并核实情况后,我们将迅速采取相应措施,包括但不限于删除侵权内容,以确保您的合法权益得到及时保护。
资源鉴别:本网站发布的资源可能包含水印、广告链接或其他引流信息,这是由资源原始来源决定的。我们提醒用户在使用这些资源时,应保持警惕,自行鉴别信息的真实性和适用性,避免受到不必要的干扰或误导。 非商业用途:本网站提供的资源仅供学习、研究及非商业性交流使用。我们鼓励用户尊重原创,支持正版。若您计划将本站资源用于商业目的,请务必先获得合法授权,否则因此产生的一切法律后果将由下载用户自行承担。
为了更好地服务用户,解决您在使用本网站过程中可能遇到的问题或反馈侵权信息,我们提供了以下联系方式(请将“#”替换为“@”后使用): 联系方式:contact#kukaylib.com
本网站致力于为用户提供高质量的信息服务,但对于因网络状况、第三方干扰、不可抗力等因素导致的服务中断、数据丢失、信息错误等问题,本网站不承担任何责任。同时,本网站对于用户在使用本站资源过程中可能产生的任何直接、间接、偶然、特殊或惩罚性损失,也不承担任何法律责任。 请用户在使用本网站时,务必遵守相关法律法规及道德准则,自行承担因使用本站资源而产生的所有风险和后果。
本网站有权随时更新或修订本免责声明,更新或修订后的免责声明一经发布即具有法律效力。用户应定期访问本页面以了解最新的免责声明内容。 感谢您对本网站的理解与支持!我们将继续努力,为用户提供更加优质、便捷的信息服务。
评论(0)