嗨,伙计们,自从我在HN上首次出版《灵魂》以来,这是一次了不起的旅程,现在我添加了一个非常重要的功能,灵魂缺乏,实时改变了Websockets。
对于那些不熟悉灵魂的人,它基本上是一个SQLITE数据库文件并在其上运行CRUD API,因此您可以没有代码的最小后端。
现在要归功于此新功能,用户可以订阅表中的更改,每当创建,更新或删除操作发生时,SOUL都会将实时数据发送给订阅者。
如果您需要一些有关如何与灵魂中的Websocket合作的示例,则可以在此处找到一堆示例:https://github.com/thevahidal/soul/blob/main/docs/ws-examples.md
请让我知道您对此新功能的看法,还提交了您面临的任何问题,以便我们尽快解决。
另外,如果您有使灵魂成为更好的工具的想法,请给我您的想法,这将对我有很大帮助。
这是实时在灵魂中工作的一个小例子:
# Install Soul
npm install -g soul-cli
# Install websocket client to test Soul realtime
npm i -g wscat
# Download sample sqlite database
wget https://raw.githubusercontent.com/lerocha/chinook-database/master/ChinookDatabase/DataSources/Chinook_Sqlite.sqlite
# Run Soul
soul -d ./Chinook_Sqlite.sqlite -p 8000
# Subscribe to Employee table realtime changes
wscat -c ws://localhost:8000/ws/tables/Employee
然后在新的终端中对其进行测试,在表员工中插入新行:
要测试它,在新的终端中,在表Employee
中插入新行:
curl --request POST \
--url http://localhost:8000/api/tables/Employee/rows \
--header 'Content-Type: application/json' \
--data '{
"fields": {
"FirstName": "Damien",
"LastName": "Rice"
}
}'
Checkout wscat
终端,它应该以以下消息响应:
{
"type": "INSERT",
"data": {
"pk": 10,
"FirstName": "Damien",
"LastName": "Rice"
}
}
您也可以通过更新和删除操作来测试相同的内容。
再次感谢您的支持,我将在下一个见到您!
repo:https://github.com/thevahidal/soul
HN:https://news.ycombinator.com/item?id=33484693