成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

我們為Node.js設計了一個低代碼框架

譯文 精選
開發
自動化處理Node.js中的數據和邏輯

作者丨Can Mingir

譯者丨仇凱

策劃丨諾亞

  我們創建了一個項目,它可以自動化處理Node.js中的數據和邏輯,從而有效減少代碼工作量。

  低代碼框架Nucleoid在底層聲明性運行時環境中使用,并通過重新渲染非常相似的JavaScript代碼在圖中建立連接,并最終保存JavaScript狀態,因此它不需要外部數據庫。

  特性

  • 讓開發人員在AI的幫助下構建API(大量的圖)
  • 在底層聲明性運行時環境中使用
  • 運行時環境內置有數據存儲

  Hello World

> npm i nucleoidjs

  安裝后,通過Express.js啟動或運行代碼。

const nucleoid = require("nucleoidjs");
const app = nucleoid();

class User {
constructor(name) {
this.name = name;
}
}

// ?? This is it!
app.post("/users", () => {
new User("Daphne");
});

app.listen(3000);

  差不多就是這樣,多虧了運行時環境中的AI,能且僅能在AI的幫助下,才能在沒有外部數據庫的情況下將對象持久化。

理論

  在運行時中運用聲明式編程,能夠實現在同一進程中對數據進行管理。

  換句話說,該項目的主要目標是在同一運行時中管理數據和邏輯,同時,我們還可以將數據流/導出數據存儲在類似NoSQL一樣的外部數據庫中。

CRUD

快速設置

const nucleoid = require("nucleoidjs"); // npm install nucleoidjs
const app = nucleoid();

Create

  首先,從創建用戶類和用戶對象開始。

class User {
constructor(name) {
this.name = name;
}
}

nucleoid.register(User);

app.post("/users", (req) => {
const name = req.body.name;
return new User(name);
});

  不需要外部數據庫的原因是Nucleoid運行時管理和存儲JavaScript狀態。每當有語句在運行時環境運行的時候,Nucleoid運行時都會調整AI圖并將其存儲在運行時管理的fs中。

Read

app.get("/users/:id", (req) => {
const id = req.params.id;
return User[id];
});

  當有User這樣的類注冊時,運行時會為其實例創建快捷方式數組,可以查詢或使用實例的id(var name)以在后續訪問類。或者,也可以這樣做User.find(user => user.id === id)

Update & Delete

app.post("/users/:id", (req) => {
const id = req.params.id;
const name = req.body.name;

const user = User[id];

if (user) {
user.name = name;
return user;
}
});

app.delete("/users/:id", (req) => {
const id = req.params.id;
delete User[id];
});

  與上面的示例類似,它使用原生JavaScript,運行時重新渲染和管理JavaScript狀態。此外,還可以在JavaScript中編寫一些業務邏輯。例如,如果想對用戶名進行限制,可以這樣寫 if (user.name.length < 3) { throws "INVALID_USER" }。

Query

  nucleoidjs包還打開了一個終端通道來運行SQL之類的語句

圖片

工作原理

nucleoid.run(() => {
var a = 1;
var b = a + 2;
var c = b + 3;
});

  當變量被定義為 var a = 1時,運行時會做三件事情。首先,它將var a放在圖中,并在因變量之間建立聯系。

圖片

變量圖

  其次,使用新值更新狀態,以使其生效。

圖片

狀態表

  但是,由于變量會在圖中被追蹤,因此實際執行情況是不同的。

state.a = 1;
state.b = state.a + 2;
state.c = state.b + 3;

  最后將語句存儲在運行時管理的fs中。

OpenAPI與Nucleoid IDE集成

  我們還在構建一個在線的OpenAPI編輯器,它有助于通過用戶界面構建完全相同的API。它專為OpenAPI集成而設計,并且還連接到CodeSandbox,以便能夠輕松地在沙箱中運行項目。

圖片

IDE截圖

  多虧了聲明式編程,我們有了一種全新的數據和邏輯方法。

  原文鏈接:

      ??https://hackernoon.com/nucleoid-a-low-code-framework-for-nodejs??

  仇凱,51CTO社區編輯,北京宅急送快運股份有限公司信息安全工程師。

責任編輯:張潔 來源: 51CTO技術棧
相關推薦

2020-08-07 10:40:56

Node.jsexpress前端

2012-01-10 10:04:43

Node.js

2019-04-15 11:00:46

框架Node.JS開發

2011-12-23 13:58:57

node.js

2011-10-25 09:28:30

Node.js

2020-05-29 15:33:28

Node.js框架JavaScript

2020-12-28 19:13:11

Node.js后端框架

2020-07-15 08:06:04

Node.js框架開發

2018-03-21 18:00:15

NestJS

2019-08-29 10:58:02

Web 開發框架

2021-08-07 07:56:59

Node邏輯對象

2011-06-17 10:29:04

Nodejavascript

2022-06-05 13:52:32

Node.jsDNS 的原理DNS 服務器

2024-03-11 08:11:27

Node.js.NET低代碼平臺

2012-02-02 15:14:29

Node.js

2012-03-07 14:32:41

Node.js

2014-10-30 10:28:55

Node.js

2021-10-12 23:45:43

NodeJs事件

2020-08-24 08:07:32

Node.js文件函數

2022-05-27 10:19:59

Node.js前端開發
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 97精品国产| 国产精品免费高清 | 一区在线视频 | 成人精品一区二区三区 | 色就是色欧美 | 色偷偷人人澡人人爽人人模 | 国产激情一区二区三区 | 一区二区免费 | 日韩视频在线一区二区 | 久久久亚洲 | 亚洲成人中文字幕 | 高清av电影| 国产精品久久久久aaaa | 成人免费视频观看视频 | 久久精品国产一区老色匹 | 日韩一级在线 | 欧美福利视频 | 国产精品欧美一区二区三区不卡 | 在线免费观看黄色av | 日本视频在线播放 | 日本韩国电影免费观看 | 久久亚洲国产精品 | 久久久久一区二区三区 | 国产日韩av一区二区 | 国产伦一区二区三区四区 | 作爱视频免费观看 | 国产成视频在线观看 | 欧美二区三区 | 中文字幕第二十页 | 欧美 日韩精品 | 亚洲网站在线观看 | 久久久久久久久久久久久91 | 免费一级片 | 欧美一级做性受免费大片免费 | 欧美性猛交一区二区三区精品 | av免费网站在线观看 | 欧美无乱码久久久免费午夜一区 | 97影院在线午夜 | 亚洲成人免费在线观看 | 国产成人免费 | 国产精品夜间视频香蕉 |