惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
Apple Machine Learning Research
Apple Machine Learning Research
月光博客
月光博客
Vercel News
Vercel News
Recent Announcements
Recent Announcements
B
Blog RSS Feed
Y
Y Combinator Blog
M
MIT News - Artificial intelligence
MongoDB | Blog
MongoDB | Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
雷峰网
雷峰网
D
Docker
Jina AI
Jina AI
IT之家
IT之家
人人都是产品经理
人人都是产品经理
L
LangChain Blog
G
Google Developers Blog
Google DeepMind News
Google DeepMind News
MyScale Blog
MyScale Blog
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog
The Cloudflare Blog
A
About on SuperTechFans
Hugging Face - Blog
Hugging Face - Blog

博客园 - egreen

在Visual Studio里用原版Copilot交互,烧DeepSeek等国模的Token,让微软和深度求索都为你打工 macOS 上通过二进制安装 Qdrant 并配置为 launchd 服务 CLI-Anything + Gear 最佳实践与踩坑修复沉淀 cli-proxy-api 工业AI报警插件 ZL.Simulator 工业级多仪器仿真与合成数据平台 SyncBus:让多台设备“齐舞”,告别协同烦恼 ZL.ParamEditor:把WinForms配置从‘苦力活’变成‘享受’! 彻底告别 WinForms SOP 开发的“老大难”! 告别“屎山”代码!Gear.NET:专为 .NET 工业自动化打造的微编排框架 electron 安装失败 【MacOS】彻底卸载Navicat dotnet项目编译运行 pnpm 安装后无法使用 macOS 彻底卸载和重装 Node.js 指南 Serena 最佳实践方案 directus 的endpoint功能 CAN通讯上位机开发快问快答与最佳实践 在老项目中Claude code 中使用 ccpm功能 个人注册企业微信及机器人
Create Custom Endpoint in Directus
egreen · 2025-09-06 · via 博客园 - egreen

Create Custom Endpoint in Directus

Directus V11.11.0

Build Extension

  • Create any folder and go inside
mkdir shivam
cd shivam
  • Create directus extension here 创建扩展插件
npm init directus-extension #old
npx create-directus-extension@latest #new
  • Select extension-type as endpoint
  • Select name as dog
  • Select language as javascript
  • Now go to src folder on newly created extension folder dog/src
  • Edit index.js file
  • simple example
export default (router) => {
    router.get("/", (req, res) => res.send("Hello World, I am Dog"));
};
// accessible on /dog

complex example --此模式未尝试

module.exports = function registerEndpoint(router, { services, exceptions }) {
    router.get("/", (req, res) => {
        res.send({
            mesasge: "Welcome to Cat world",
        });
    });

    router.get("/hello", (req, res) => {
        res.send({
            message: "Hola from Cats",
        });
    });
};
// accessile on /cat/ and /cat/hello
  • Build extension with
npm run build

Deploy extension

  • Copy content from dog/dist/
  • Paste in extensions/dog/dist
  • Directus app will look like this ../extensions/dog/dist/index.js

Deploy with docker

  • Keep extensions folder alongside docker-compose.yml file
---docker-compose.yml
---database
   |---demo.db
---uploads
---extensions
   ├── dog
    │   ├── dist
    │   ├── node_modules
    │   ├── package-lock.json
    │   ├── package.json
    │   └── src
  • Add volume mapping for extensions
volumes:
   - ./uploads:/directus/uploads
   - ./database:/directus/database
   - ./extensions:/directus/extensions
  • Done
  • Now run docker compose
sudo docker-compose up
OR
sudo docker-compose up -d