mojo.jsNode.js 实时 Web 框架

联合创作 · 2023-09-20 01:07

mojo.js 是 Node.js 实时 Web 框架,可将它视作采用 TypeScript 重写的 Mojolicious。mojo.js 使用了所有最新的 JavaScript 特性,专为聚焦超媒体 (hypermedia) 的后端 Web 服务精心设计。

主要特性

  • 实时 Web 框架,开发者可轻松地将单文件原型扩展为结构良好的 MVC Web 应用程序。
    • 开箱即用的强大 RESTful 路由、WebSockets、插件、命令、日志记录、模板、内容协商 (content negotiation)、会话管理、表单和 JSON 验证、测试框架、静态文件服务器、集群模式、CGI 检测、一等公民的 Unicode 支持等
  • 强大的 Web 开发工具包,开发者可以将它用于各种应用程序,独立于 Web 框架。
    • 高性能 HTTP 和 WebSocket 客户端/服务器实现,支持 HTTPS/WSS、cookie、重定向、urlencoded/multi-part 表单、文件上传、JSON/YAML、HTML/XML、模拟数据、API 测试、HTTP/SOCKS 代理和 gzip压缩。
    • 支持 CSS 选择器的 HTML/XML 解析器。
  • 基于classasync/await的 API,采用 TypeScript 编写,几乎不需要依赖,因此可避免 NPM 依赖地狱。
  • 基于具有数十年积累的 Mojolicious 和 Catalyst 的代码,免费且开源。

示例代码

下面是一个完整的 Web 应用

import mojo from '@mojojs/core';

const app = mojo();

app.get('/', ctx => ctx.render({text: 'I ♥ Mojo!'}));

app.start();

使用内置命令系统启动 Web 服务器

$ node index.mjs server
[77264] Web application available at http://127.0.0.1:3000/

使用偏好的任何 HTTP 客户端对其进行测试

$ curl http://127.0.0.1:3000/
I ♥ Mojo!
浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报