Directus创建和使用Endpoint
Directus创建自定义路由的扩展需要使用endpoint,官方提供了一个扩展包,但是文档写的很模糊,这里笔者做一个记录。
首先需要用官方提供的命令行工具生成一个扩展包
npx create-directus-extension@latest
在列表选项中选择endpoint
,注意这里的名称可以任意写未作任何要求,由于我们在根目录创建了该扩展,建议使用一个带有识别度的自定义的前缀比较好,比如我们这里创建了一个名为directus-demo
的扩展目录名。
This utility will walk you through creating a Directus extension. ? Choose the extension type endpoint ? Choose a name for the extension meilisearch ? Choose the language to use javascript √ Done
创建成功后进入directus-demo
目录找到/src/index.js
文件,我们可以在这里写我们需要实现的路由请求和处理
export default { id: 'demo', handler: (router) => { router.get('/', (req, res) => res.send('Hello, World!')); router.get('/intro', (req, res) => res.send('Nice to meet you.')); router.get('/goodbye', (req, res) => res.send('Goodbye!')); }, };
完成后进入插件所在directus-demo
目录,运行npm run build
编译。
接下来,重点来了!
如何让directus系统识别挂载该扩展,我们需要在directus项目根目录下的extensions
目录中创建一个前缀为“directus-extension-endpoint-
”的插件项目,我们这里创建名称为“directus-extension-endpoint-demo
”,然后把刚才编译的directus-demo
目录下的package.json
文件,src
,dist
目录都复制进去。
最后重新启动directus项目,然后访问http://localhost:8055/demo/
即可看到“Hello, World!
”