- Node.js 不是一门语言,是一个运行时,和浏览器更像,只不过运行在服务端
- 这个运行时的方言是 JavaScript(不包含 BOM、DOM API,增加了 Stream、网络等 API)
- Node.js 是靠 Chrome V8 引擎运行 JavaScript
对应到 Java 我们可以理解 Node.js 是 JDK,装上就能在服务端跑 JavaScript 代码了。
以下框架前4个我都使用过,nest是最近了解到的,正在学习
1. Express
Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具;
使用 Express 可以快速地搭建一个完整功能的网站,它有一套健壮的特性,可用于开发单页、多页和混合Web应用;
Express.js 是 Node.JS 诞生之初,最早出现的一款框架,现在仍然很流行,作者是TJ。
2. KOA
Koa 是下一代的 Node.js 的 Web 框架。由 Express 团队设计。旨在提供一个更小型、更富有表现力、更可靠的 Web 应用和 API 的开发基础。
Koa可以通过生成器摆脱回调,极大地改进错误处理。Koa核心不绑定任何中间件,但提供了优雅的一组可以快速和愉悦地编写服务器应用的方法。
3. Egg.js
Egg.js 为企业级框架和应用而生,我们希望由 Egg.js 孕育出更多上层框架,帮助开发团队和开发人员降低开发和维护成本
特性
4. Midway
Midway 是 阿里巴巴淘宝技术部 MidwayJs 团队产出的第二款产品,也是以团队名命名的核心产品 - Midway。
Midway 是一个 Typescript 编写的 Node.js web 框架,它通过 IoC 的注入机制,让应用的业务逻辑进行解耦,让大型 Node.js 应用开发变的更加简单自然。
特性
-
基于 IoC 体系业务代码进行解耦,依赖统一管理统一初始化
-
常见的 web 场景装饰器简化业务开发
-
支持 Egg.js 的所有插件体系,框架装饰器统一编码风格
-
基于 Typescript ,面向接口编程的编码体验
5. NEST
Nest是构建高效,可扩展的 Node.js Web 应用程序的框架。 它使用现代的 JavaScript 或 TypeScript(保留与纯 JavaScript 的兼容性),并结合 OOP(面向对象编程),FP(函数式编程)和FRP(函数响应式编程)的元素。在底层,Nest 使用了 Express,可以方便地使用各种可用的第三方插件。
特性
- 完美支持 Typescript
- 面向 AOP 编程
- 支持 Typeorm
- 高并发,异步非阻塞 IO
- Node.js 版的 spring
- 构建微服务应用