Create Custom Endpoint in Directus
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.jsfile - 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.ymlfile
---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
愿意一起学习的小伙伴,可以加qq: 285861181 ,共同交流。
本文来自博客园,作者:egreen,转载请注明原文链接:https://www.cnblogs.com/egreen/p/19077177

浙公网安备 33010602011771号