简介
Directus 是用于管理 SQL 数据库内容的实时 API 和 App 控制面板。
API会根据数据库模式/内容的实时更改动态更新(无需重新启动服务器)。
Directus安装在任何新的或现有的 SQL 数据库之上,提供 API 层(REST、GraphQL、JS-SDK、CLI、Webhooks 等)和足够简单直观的无代码应用程序供任何用户(即使是非技术用户)浏览、管理和可视化内容。
最新的 Directus 9 版本现在是使用 Vue 3 和 Node.js 构建的端到端 JavaScript
支持 PostgreSQL、MySQL、SQLite、OracleDB、CockroachDB、MariaDB 和 MS-SQL。
Directus 是几乎所有数据驱动项目的绝佳工具。我们通常看到的大的是:
用于站点、应用程序、信息亭和数字体验的无头 CMS
SaaS/App/游戏数据骨干
内部工具(BI、库存、CRM、项目管理、ERP 等)
数据管理、分析和可视化
本地安装
克隆代码
git clone git@github.com:YOUR-USERNAME/directus.git
安装依赖构建项目
pnpm install
pnpm build
在api文件夹下创建.evn配置文件,他支持多种形式
- .env
- config.json
- config.yaml
- config.js
配置参考
HOST="0.0.0.0"
PORT=8055
DB_CLIENT="mysql"
DB_HOST="localhost"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="xxxx"
DB_DATABASE="directus"
KEY="test001"
SECRET="password001"
数据库要提前准备好,如果是sqlite数据库则不需要
在运行引导程序命令之前,将ADMIN_EMAIL&ADMIN_PASSWORD添加到.env文件中,将使用提供的凭据而不是随机值填充管理用户。
所以修改配置文件
HOST="0.0.0.0"
PORT=8055
DB_CLIENT="mysql"
DB_HOST="10.10.90.139"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="biobase123?"
DB_DATABASE="directus"
KEY="test001"
SECRET="password001"
ADMIN_EMAIL="dddd@qq.com"
ADMIN_PASSWORD="xxxxx"
执行初始化命令
pnpm --filter api cli bootstrap
这将为Directus设置所需的表,并确保所有迁移都已运行。
开启开发服务器
pnpm --recursive dev
当运行多个或所有程序包时,有时ts节点可能无法正确启动API,因为其他程序包发生的更改会导致竞争条件。您可以重新运行该命令以重新启动API,也可以选择使用如下所述的包。
如果您希望选择要处理的包,那么应该运行该包的开发脚本。您可以在相关的package.json中看到它们的名称和脚本列表。
下面是只运行api的例子
pnpm --filter api dev
如果您想同时处理多个包,那么应该为每个包创建一个新的终端实例。同时运行API和应用程序的示例:
开启两个终端分别运行
此时,您已经准备好开始使用Directus了!然而,在深入研究之前,值得一读《贡献》的简介。
运行测试如果有需要的话
# Ensure that you are testing on the lastest codebase
pnpm build
# Run the unit tests
pnpm test
# Clean up in case you ran the blackbox tests before
docker compose -f tests/blackbox/docker-compose.yml down -v
# Start the necessary containers for the blackbox tests
docker compose -f tests/blackbox/docker-compose.yml up -d --wait
# Run the blackbox tests
pnpm test:blackbox
访问http://localhost:8080/admin/
输入账号密码即可进入后台页面
参考
中文手册