最低要求
您将需要 最新版本的 Node 来 build 一个开发Directus 版本。
您可以使用 JavaScript 工具管理器 volta 自动安装当前节点和 npm版本。
您还需要安装包管理器 pnpm。
您可以使用安装 pnpm 以下命令:npm install -g pnpm
。
1. 分叉 Directus 存储库
转到 repository 并将其 fork 到您的 GitHub 帐户。 叉子是你的副本 Directus 存储库。 分叉存储库允许您自由试验更改而不会影响 原始项目。
2. 从您的存储库中克隆
git clone git@github.com:YOUR-USERNAME/directus.git
3. 新建一个分支
git checkout -b YOUR-BRANCH-NAME
4. 安装依赖并构建项目
pnpm install
pnpm -r build
5. Create a .env
file
使用在线 config help 中的 vars 在 api
文件夹下创建一个 .env
文件
6. 初始化数据库
对于这一步,您需要已经启动并运行 SQL 数据库,除非您使用 SQLite 驱动程序,它将为您创建数据库(文件)。
要开始初始化,请运行以下命令:
# 在“api”上下文中运行命令(以确保在正确的目录中创建数据库文件)
pnpm --dir api cli bootstrap
这将为 Directus 设置所需的表并确保所有迁移都已运行。
7. 启动开发服务器
您可以使用以下命令运行开发中的所有包:
pnpm -r dev
Race Conditions
当运行多个或所有包时,有时 ts-node
可能无法正常启动 API,因为其他包发生更改而导致竞争条件。 您可以重新运行该命令以重新启动 API,也可以选择选择要处理的包,如下所述。
如果您希望选择要处理的包,您应该为该包运行 dev
脚本。 您可以在相关的 package.json
中查看它们的名称和脚本列表。
仅运行 API 的示例:
pnpm --filter directus dev
如果你想一次处理多个包,你应该为每个包创建一个新的终端实例。 同时运行 API 和 App 的示例:
Terminal 1 [Api] | Terminal 2 [App] |
---|---|
bash
|
bash
|
要处理文档(公共网站版本),您应该克隆 directus/docs
存储库并运行以下命令:
pnpm install
pnpm dev
过程中遇到错误,请确保您的节点版本满足最低要求
8. 进行修复/更改
此时您已准备好开始使用 Directus! 然而,在深入研究之前,值得阅读 Contributing 的介绍。
Debugging
查看我们的 Wii 以获取有关调试应用程序和 API 的 指南。
9. 运行测试
测试通过 GitHub Actions 自动运行。 但是,您可能希望在本地运行测试,尤其是在编写测试时。
安装 Docker 并确保服务正在运行。
# 确保您在最新的代码库上进行测试
pnpm -r build
# 清理以防你之前运行过测试
docker compose -f tests/docker-compose.yml down -v
# 启动必要的容器
docker compose -f tests/docker-compose.yml up -d --wait
# 运行测试
pnpm test:e2e