# 后端框架
# Node.js
:一个 JavaScript 的运行时环境。
- 官方文档 (opens new window)
- 于 2009 年,由 Ryan Dahl 发布。
- 基于 Chrome 浏览器的 V8 引擎。
- V8 引擎采用 C++ 语言开发,它将 JS 代码直接编译成机器码(而不是字节码),从而将 JS 代码的执行速度提高到接近二进制程序。
- 可用于运行 JS 开发的后端程序。
- 一般作为中间层,接收前端的访问请求,然后转发给真正的后端服务器。
- 从零开始开发 JS 后端应用的工作量很大,通常采用一些基于 Node.js 的后端开发框架。比如:
- Express :轻量级,使用量大。
- Next.js
- Koa
# 安装
用 yum 安装:
curl --silent --location https://rpm.nodesource.com/setup_12.x | sudo bash - yum install nodejs
- 如果用 CentOS 的默认 yum 源,则安装的 npm 版本较老。
或者运行 Docker 镜像:
docker run -it --rm \ -v ~/.npmrc:/root/.npmrc \ # 挂载配置文件 -v $PWD:/data \ # 挂载项目目录 --workdir /data \ node:16.13-alpine \ npm -h
# 用法示例
编写一个 server.js 脚本:
var http = require('http'); // 导入 http 模块 http.createServer(function (request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.end('Hello World\n'); }).listen(80); console.log('Server running at http://127.0.0.1:80/'); // 打印信息到 Linux 终端
用 node 运行 js 脚本:
node server.js # --max-old-space-size=2048 # 老年代内存的最大体积,单位为 MB 。如果占用内存超过上限且无法 GC ,则进程会崩溃退出 # --max-semi-space-size=16 # semi 空间的最大体积,单位为 MB ,64 位系统上默认为 16MB 。增加该内存可以提高吞吐量 # --semi-space-growth-factor=2 # 年轻代内存起始包含 1 个 semi 空间,还可以增加 factor 个
- 可通过命令行传入 node.js 配置参数,还可通过环境变量:
export NODE_OPTIONS="--max-old-space-size=4096"
- 可通过命令行传入 node.js 配置参数,还可通过环境变量:
# Deno
:一个 JavaScript、TypeScript 的运行时环境,采用 Rust 语言开发。
- 官方文档 (opens new window)
- Ryan Dahl 在发布 Node.js 三年之后退出了该项目,又在 2018 年发布了 Deno 。