mojo.js是Node.js实时Web框架,可将它视作采用TypeScript重写的 Mojolicious。mojo.js使用了所有最新的JavaScript特性,专为聚焦超媒体(hypermedia)的后端Web服务精心设计。
主要特性
实时Web框架,开发者可轻松地将单文件原型扩展为结构良好的MVCWeb应用程序。开箱即用的强大RESTful路由、WebSockets、插件、命令、日志记录、模板、内容协商(contentnegotiation)、会话管理、表单和JSON验证、测试框架、静态文件服务器、集群模式、CGI检测、一等公民的Unicode支持等强大的 Web开发工具包,开发者可以将它用于各种应用程序,独立于Web框架。高性能HTTP和WebSocket客户端/服务器实现,支持HTTPS/WSS、cookie、重定向、urlencoded/multi-part表单、文件上传、JSON/YAML、HTML/XML、模拟数据、API测试、HTTP/SOCKS代理和gzip压缩。支持CSS选择器的HTML/XML解析器。基于class、async/await的API,采用TypeScript编写,几乎不需要依赖,因此可避免NPM依赖地狱。基于具有数十年积累的 Mojolicious 和 Catalyst 的代码,免费且开源。示例代码
下面是一个完整的Web应用
importmojofrom'@mojojs/core';constapp=mojo();app.get('/',ctx=>ctx.render({text:'I♥Mojo!'}));app.start();使用内置命令系统启动Web服务器
$nodeindex.mjsserver[77264]Webapplicationavailableathttps://127.0.0.1:3000/使用偏好的任何HTTP客户端对其进行测试
$curlhttps://127.0.0.1:3000/I♥Mojo!
评论