快速开始

Node.js 简介

Node.js 是一个开源的跨平台 JavaScript 运行时环境。

Node.js 在浏览器之外运行 V8 JavaScript 引擎,它是 Google Chrome 的核心。

Node.js 应用程序在单个进程中运行,无需为每个请求创建一个新线程。Node.js 在其标准库中提供了一组异步 I/O 原语,以防止 JavaScript 代码阻塞,通常,Node.js 中的库是使用非阻塞范式编写的,使得阻塞行为成为例外而不是常态。

构建 Node.js 应用程序(web服务器)

Step1. 创建一个项目目录

1
2

mkdir node-webserver && cd node-webserver

Step2. 编辑一个server服务器主文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16

// app.js
const http = require('http');

const hostname = '127.0.0.1';
const port = 3000;

const server = http.createServer((req, res) => {
  res.statusCode = 200;
  res.setHeader('Content-Type', 'text/plain');
  res.end('Hello World');
});

server.listen(port, hostname, () => {
  console.log(`Server running at http://${hostname}:${port}/`);
});
  • 导入 Node.js http模块
  • httpcreateServer() 方法创建一个新的 HTTP 服务器
  • 每当接收到新请求时,都会调用 request事件,提供两个对象:请求响应
  • 服务器设置为侦听指定的端口和主机名。当服务器准备好时,回调函数被调用,通知我们服务器正在运行
  • statusCode 属性 设置为 200,以指示成功响应
  • 设置 Content-Type 标头
  • 关闭 响应,将内容作为参数添加到 end()

Step3. 启动服务器

1
2

node app.js

Node.js 框架和工具

Socket.io

双向和低延迟通信

AdonisJS

基于 TypeScript 的全功能框架

(我个人觉得很棒,单看文档结构就知道如何实施服务端了,非常直观。虽然关注度不是很高,但是好用才是真理)

Loopback.io

一个高度可扩展的 Node.js 和 TypeScript 框架用于构建 API 和微服务。

Strapi

灵活的开源 Headless CMS,它让开发人员可以自由选择他们喜欢的工具和框架,同时还允许编辑人员轻松管理和分发他们的内容。

通过插件系统使管理面板和 API 可扩展,Strapi 使世界上最大的公司能够在构建精美的数字体验的同时加速内容交付。

Next.js

React框架,提供生产所需的所有功能的最佳开发人员体验:混合静态和服务器渲染、TypeScript 支持、智能捆绑、路由预取等。

qiankun

微前端的快速、简单和完整的解决方案。

single-spa

用于轻松微前端的路由器。是qiankun的鼻祖