mojo.jsNode.js 實時 Web 框架
mojo.js 是 Node.js 實時 Web 框架,可將它視作采用 TypeScript 重寫的 Mojolicious。mojo.js 使用了所有最新的 JavaScript 特性,專為聚焦超媒體 (hypermedia) 的后端 Web 服務(wù)精心設(shè)計。
主要特性
- 實時 Web 框架,開發(fā)者可輕松地將單文件原型擴(kuò)展為結(jié)構(gòu)良好的 MVC Web 應(yīng)用程序。
- 開箱即用的強(qiáng)大 RESTful 路由、WebSockets、插件、命令、日志記錄、模板、內(nèi)容協(xié)商 (content negotiation)、會話管理、表單和 JSON 驗證、測試框架、靜態(tài)文件服務(wù)器、集群模式、CGI 檢測、一等公民的 Unicode 支持等
- 強(qiáng)大的 Web 開發(fā)工具包,開發(fā)者可以將它用于各種應(yīng)用程序,獨立于 Web 框架。
- 高性能 HTTP 和 WebSocket 客戶端/服務(wù)器實現(xiàn),支持 HTTPS/WSS、cookie、重定向、urlencoded/multi-part 表單、文件上傳、JSON/YAML、HTML/XML、模擬數(shù)據(jù)、API 測試、HTTP/SOCKS 代理和 gzip壓縮。
- 支持 CSS 選擇器的 HTML/XML 解析器。
- 基于
class、async/await的 API,采用 TypeScript 編寫,幾乎不需要依賴,因此可避免 NPM 依賴地獄。 - 基于具有數(shù)十年積累的 Mojolicious 和 Catalyst 的代碼,免費且開源。
示例代碼
下面是一個完整的 Web 應(yīng)用
import mojo from '@mojojs/core';
const app = mojo();
app.get('/', ctx => ctx.render({text: 'I ? Mojo!'}));
app.start();
使用內(nèi)置命令系統(tǒng)啟動 Web 服務(wù)器
$ node index.mjs server
[77264] Web application available at http://127.0.0.1:3000/
使用偏好的任何 HTTP 客戶端對其進(jìn)行測試
$ curl http://127.0.0.1:3000/
I ? Mojo!評論
圖片
表情
