# Node.js 应用程序的示例
const http = require('http') // 引入 http 模块
const hostname = '127.0.0.1'
const port = 3000
const server = http.createServer((req, res) => { // 创建新的 HTTP 服务器并返回
res.statusCode = 200 // 将 statusCode 属性设置为 200,以指示成功响应。
res.setHeader('Content-Type', 'text/plain') // 设置 Content-Type 标头
res.end('Hello World\n') // 关闭响应,将内容作为参数添加到 end()
})
// 监听指定的端口和主机名
server.listen(port, hostname, () => {console.log(`Server running at http://${hostname}:${port}/`)})
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
要运行此代码片段,则将其另存为 server.js
文件并在终端中运行 node server.js
。
# Node.js 框架和工具
Node.js 是一个底层平台。 为了让开发者的工作变得轻松有趣,社区在 Node.js 上构建了数千个库。
许多随着时间的推移而成为流行的选择。 以下是值得学习的部分列表:
- AdonisJS (opens new window):基于 TypeScript 的全功能框架,高度关注开发者的效率、稳定和信任。Adonis 是最快的 Node.js Web 框架之一。
- Egg.js (opens new window):使用 Node.js 和 Koa 构建更好的企业级框架和应用程序的框架。
- Express (opens new window):提供了最简单而强大的方式来创建 Web 服务器。它的极简主义方法、没有偏见、专注于服务器的核心功能,是其成功的关键。
- Fastify (opens new window):高度专注于以最少的开销和强大的插件架构提供最佳开发者体验的 Web 框架。Fastify 是最快的 Node.js Web 之一 构架。
- FeatherJS (opens new window):Feathers 是轻量级的网络框架,用于使用 JavaScript 或 TypeScript 创建实时应用程序和 REST API。在几分钟内构建原型,在几天内构建可用于生产的应用程序。
- Gatsby (opens new window):基于 React (opens new window)、由 GraphQL (opens new window) 驱动的静态网站生成器,具有非常丰富的插件和启动器生态系统。
- hapi (opens new window):用于构建应用程序和服务的富框架,使开发者能够专注于编写可重用的应用程序逻辑,而不是花时间搭建基础设施。
- koa (opens new window):由 Express 背后的同一个团队构建,旨在更简单、更小,建立在多年知识的基础上。新项目的诞生是为了在不破坏现有社区的情况下创建不兼容的更改。
- Loopback.io (opens new window):使构建需要复杂集成的现代应用程序变得容易。
- Meteor (opens new window):非常强大的全栈框架,为您提供同构的方法来使用 JavaScript 构建应用程序,在客户端和服务器上共享代码。曾经是提供所有功能的现成工具,现在可以与前端库 React (opens new window)、Vue (opens new window) 和 Angular (opens new window) 集成。也可用于创建移动应用程序。
- Micro (opens new window):提供了非常轻量级的服务器来创建异步的 HTTP 微服务。
- NestJS (opens new window):基于 TypeScript 的渐进式 Node.js 框架,用于构建企业级的高效、可靠和可扩展的服务器端应用程序。
- Next.js (opens new window):React (opens new window) 框架,为您提供最佳的开发者体验,包括生产所需的所有功能:混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。
- Nx (opens new window):使用 NestJS、Express、React (opens new window)、Angular (opens new window) 等进行全栈大仓开发的工具包!Nx 有助于将您的开发从构建单个应用程序的团队扩展到多个团队协作开发多个应用程序!
- Remix (opens new window):Remix 是一个全栈 Web 框架,用于为 web 构建出色的用户体验。它开箱即用,提供构建现代 web 应用程序所需的一切(包括前端和后端)并将其部署到任何基于 JavaScript 的运行时环境(包括 Node.js)。
- Sapper (opens new window):Sapper 是用于构建各种规模的 Web 应用程序的框架,具有优美的开发体验和灵活的基于文件系统的路由。提供 SSR 等等!
- Socket.io (opens new window): 构建网络应用的实时通信引擎。
- Strapi (opens new window):Strapi 是灵活开源的 Headless CMS,让开发者可以自由选择他们喜欢的工具和框架,同时还允许编辑人员轻松管理和分发他们的内容。通过插件系统使管理面板和 API 可扩展,Strapi 使世界上最大的公司能够在构建精美的数字体验的同时加速内容交付。