# Node.js
Node.js is an open-source, cross-platform, JavaScript runtime environment.
For information on using Node.js, see the [Node.js website][].
The Node.js project uses an [open governance model](./GOVERNANCE.md). The
[OpenJS Foundation][] provides support for the project.
**This project has a [Code of Conduct][].**
## Table of contents
* [Support](#support)
* [Release types](#release-types)
* [Download](#download)
* [Current and LTS releases](#current-and-lts-releases)
* [Nightly releases](#nightly-releases)
* [API documentation](#api-documentation)
* [Verifying binaries](#verifying-binaries)
* [Building Node.js](#building-nodejs)
* [Security](#security)
* [Contributing to Node.js](#contributing-to-nodejs)
* [Current project team members](#current-project-team-members)
* [TSC (Technical Steering Committee)](#tsc-technical-steering-committee)
* [Collaborators](#collaborators)
* [Triagers](#triagers)
* [Release keys](#release-keys)
* [License](#license)
## Support
Looking for help? Check out the
[instructions for getting support](.github/SUPPORT.md).
## Release types
* **Current**: Under active development. Code for the Current release is in the
branch for its major version number (for example,
[v15.x](https://github.com/nodejs/node/tree/v15.x)). Node.js releases a new
major version every 6 months, allowing for breaking changes. This happens in
April and October every year. Releases appearing each October have a support
life of 8 months. Releases appearing each April convert to LTS (see below)
each October.
* **LTS**: Releases that receive Long Term Support, with a focus on stability
and security. Every even-numbered major version will become an LTS release.
LTS releases receive 12 months of _Active LTS_ support and a further 18 months
of _Maintenance_. LTS release lines have alphabetically-ordered code names,
beginning with v4 Argon. There are no breaking changes or feature additions,
except in some special circumstances.
* **Nightly**: Code from the Current branch built every 24-hours when there are
changes. Use with caution.
Current and LTS releases follow [Semantic Versioning](https://semver.org). A
member of the Release Team [signs](#release-keys) each Current and LTS release.
For more information, see the
[Release README](https://github.com/nodejs/Release#readme).
### Download
Binaries, installers, and source tarballs are available at
<https://nodejs.org/en/download/>.
#### Current and LTS releases
<https://nodejs.org/download/release/>
The [latest](https://nodejs.org/download/release/latest/) directory is an
alias for the latest Current release. The latest-_codename_ directory is an
alias for the latest release from an LTS line. For example, the
[latest-fermium](https://nodejs.org/download/release/latest-fermium/) directory
contains the latest Fermium (Node.js 14) release.
#### Nightly releases
<https://nodejs.org/download/nightly/>
Each directory name and filename contains a date (in UTC) and the commit
SHA at the HEAD of the release.
#### API documentation
Documentation for the latest Current release is at <https://nodejs.org/api/>.
Version-specific documentation is available in each release directory in the
_docs_ subdirectory. Version-specific documentation is also at
<https://nodejs.org/download/docs/>.
### Verifying binaries
Download directories contain a `SHASUMS256.txt` file with SHA checksums for the
files.
To download `SHASUMS256.txt` using `curl`:
```console
$ curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt
```
To check that a downloaded file matches the checksum, run
it through `sha256sum` with a command such as:
```console
$ grep node-vx.y.z.tar.gz SHASUMS256.txt | sha256sum -c -
```
For Current and LTS, the GPG detached signature of `SHASUMS256.txt` is in
`SHASUMS256.txt.sig`. You can use it with `gpg` to verify the integrity of
`SHASUMS256.txt`. You will first need to import
[the GPG keys of individuals authorized to create releases](#release-keys). To
import the keys:
```console
$ gpg --keyserver hkps://keys.openpgp.org --recv-keys DD8F2338BAE7501E3DD5AC78C273792F7D83545D
```
See the bottom of this README for a full script to import active release keys.
Next, download the `SHASUMS256.txt.sig` for the release:
```console
$ curl -O https://nodejs.org/dist/vx.y.z/SHASUMS256.txt.sig
```
Then use `gpg --verify SHASUMS256.txt.sig SHASUMS256.txt` to verify
the file's signature.
## Building Node.js
See [BUILDING.md](BUILDING.md) for instructions on how to build Node.js from
source and a list of supported platforms.
## Security
For information on reporting security vulnerabilities in Node.js, see
[SECURITY.md](./SECURITY.md).
## Contributing to Node.js
* [Contributing to the project][]
* [Working Groups][]
* [Strategic initiatives][]
* [Technical values and prioritization][]
## Current project team members
For information about the governance of the Node.js project, see
[GOVERNANCE.md](./GOVERNANCE.md).
<!-- node-core-utils and find-inactive-tsc.mjs depend on the format of the TSC
list. If the format changes, those utilities need to be tested and
updated. -->
### TSC (Technical Steering Committee)
<!--lint disable prohibited-strings-->
* [aduh95](https://github.com/aduh95) -
**Antoine du Hamel** <<duhamelantoine1995@gmail.com>> (he/him)
* [apapirovski](https://github.com/apapirovski) -
**Anatoli Papirovski** <<apapirovski@mac.com>> (he/him)
* [BethGriggs](https://github.com/BethGriggs) -
**Beth Griggs** <<bgriggs@redhat.com>> (she/her)
* [BridgeAR](https://github.com/BridgeAR) -
**Ruben Bridgewater** <<ruben@bridgewater.de>> (he/him)
* [ChALkeR](https://github.com/ChALkeR) -
**Сковорода Никита Андреевич** <<chalkerx@gmail.com>> (he/him)
* [cjihrig](https://github.com/cjihrig) -
**Colin Ihrig** <<cjihrig@gmail.com>> (he/him)
* [danielleadams](https://github.com/danielleadams) -
**Danielle Adams** <<adamzdanielle@gmail.com>> (she/her)
* [fhinkel](https://github.com/fhinkel) -
**Franziska Hinkelmann** <<franziska.hinkelmann@gmail.com>> (she/her)
* [gireeshpunathil](https://github.com/gireeshpunathil) -
**Gireesh Punathil** <<gpunathi@in.ibm.com>> (he/him)
* [jasnell](https://github.com/jasnell) -
**James M Snell** <<jasnell@gmail.com>> (he/him)
* [joyeecheung](https://github.com/joyeecheung) -
**Joyee Cheung** <<joyeec9h3@gmail.com>> (she/her)
* [mcollina](https://github.com/mcollina) -
**Matteo Collina** <<matteo.collina@gmail.com>> (he/him)
* [mhdawson](https://github.com/mhdawson) -
**Michael Dawson** <<midawson@redhat.com>> (he/him)
* [mmarchini](https://github.com/mmarchini) -
**Mary Marchini** <<oss@mmarchini.me>> (she/her)
* [MylesBorins](https://github.com/MylesBorins) -
**Myles Borins** <<myles.borins@gmail.com>> (he/him)
* [RaisinTen](https://github.com/RaisinTen) -
**Darshan Sen** <<raisinten@gmail.com>> (he/him)
* [richardlau](https://github.com/richardlau) -
**Richard Lau** <<rlau@redhat.com>>
* [ronag](https://github.com/ronag) -
**Robert Nagy** <<ronagy@icloud.com>>
* [targos](https://github.com/targos) -
**Michaël Zasso** <<targos@protonmail.com>> (he/him)
* [tniessen](https://github.com/tniessen) -
**Tobias Nießen** <<tniessen@tnie.de>> (he/him)
* [Trott](https://github.com/Trott) -
**Rich Trott** <<rtrott@gmail.com>> (he/him)
<details>
<summary>Emeriti</summary>
### TSC emeriti
* [addaleax](https://github.com/addaleax) -
**Anna Henningsen** <<anna@addaleax.net>> (she/her)
* [bnoordhuis](https://github.com/bnoordhuis) -
**Ben Noordhuis** <<info@bnoordhuis.nl>>
* [chrisdickinson](https://github.com/chrisdickinson) -
**Chris Dickinson** <<christopher.s.dickinson@gmail.com>>
* [codebytere](https://github.com/codebytere) -
**Shel
node-v16.16.0-win-x64.zip
需积分: 0 18 浏览量
更新于2022-07-08
2
收藏 25.03MB ZIP 举报
Node.js 是一个强大的开源、跨平台的JavaScript运行环境,它允许开发者在服务器端运行JavaScript代码。这个环境由Ryan Dahl在2009年创建,它的核心特性是利用非阻塞I/O模型,使得Node.js非常适合构建高效、可扩展的网络应用,如Web服务器、实时应用等。"node-v16.16.0-win-x64.zip"是一个针对Windows x64架构的Node.js版本16.16.0的压缩包文件。
Node.js 的关键特性包括:
1. **V8引擎**:Node.js 使用谷歌开发的V8 JavaScript引擎,这使得JavaScript代码运行速度极快,因为V8引擎能够直接将JavaScript代码编译为机器码,而不是传统的解释执行。
2. **事件驱动**:Node.js 的非阻塞I/O模型是基于事件驱动的。这意味着在处理I/O操作(如读写文件或网络请求)时,Node.js不会阻塞代码执行,而是注册回调函数并立即返回,当I/O操作完成时,再调用这些回调函数。这种方式极大地提高了系统处理并发请求的能力。
3. **单线程与异步编程**:尽管Node.js使用单一的主线程来处理所有任务,但通过事件循环和回调函数,它可以同时处理大量并发请求。这种方式简化了多线程同步的复杂性,但也可能导致回调地狱问题,因此开发者通常会采用Promise或者async/await来改善代码结构。
4. **npm(Node Package Manager)**:Node.js 随带的npm是最大的开源软件包管理器之一,它拥有海量的第三方模块,可以方便地用于项目开发,例如Express.js(web框架)、MongoDB驱动、React或Vue.js(前端库)等。
5. **C/C++扩展**:Node.js 提供API接口,允许开发者使用C++编写性能敏感的部分,从而充分利用硬件资源,提高程序效率。
6. **文件系统操作**:Node.js 提供了丰富的文件系统模块,可以方便地进行文件和目录的读写、创建、删除等操作。
7. **HTTP服务器**:由于Node.js内置了HTTP模块,开发者可以直接用JavaScript构建高性能的Web服务器,这在微服务架构和API开发中非常常见。
8. **流式处理**:Node.js 的流API使得处理大文件或数据流变得高效,因为它允许数据分块处理,而无需一次性加载整个内容到内存中。
9. **模块化**:Node.js 应用通常采用CommonJS模块规范,通过`require`和`module.exports`实现代码组织和重用。
10. **跨平台兼容**:Node.js 可以在多种操作系统上运行,包括Windows、macOS和Linux,这使得开发的应用具有高度的可移植性。
"node-v16.16.0-win-x64"这个版本是针对64位Windows系统的,解压后将包含Node.js的运行时环境,包括二进制可执行文件、库文件以及必要的配置文件,用户可以直接安装和使用。通过这个版本,开发者可以在Windows平台上编写和运行Node.js应用程序,享受其高效和灵活的特性。
qxmjava
- 粉丝: 24
- 资源: 699
最新资源
- 智慧公益新篇:SSM 架构下 Java Web 与 JSP 打造公益网站的创新实践
- 计数排序算法的时间复杂度与实现
- win11 用回经典菜单,小巧好用不占内存
- ESP32 modbus RTU程序 用arduino IDE开发的ESP32 modbus RTU slave程序 不是库文件,直接用子程序编写,已注释了代码,容易看懂和移植 已通讯连接成功
- 软件开发专业以C语音作为毕业设计大纲.txt
- “西贝”小说网站的设计与实现_6161u1b9.zip
- SSM 架构下 Java 与 JSP 驱动的客户关系管理系统设计与突破
- 基于java语言的医疗设备管理系统_434p9oe1--论文.zip
- 基于mpc模型预测轨迹跟踪控制,总共包含两套仿真,一套是不加入四轮侧偏角软约束,一套是加入四轮侧偏角的软约束控制,通过carsim与simulink联合仿真发现加入侧偏角软约束在进行轨迹跟踪时,能够通
- 基于Spring Boot的企业员工管理设计与实现_8rxd27hj.zip
- 基于spring boot的学生在线训练考试系统设计与实现_w8w5x0a2.zip
- 基于spring boot的软件学院学生成绩管理系统的设计与实现_2fi982m1--论文.zip
- 基于Spring Boot装修公司管理平台的设计与实现_mcpckeqv.zip
- 基于spring boot框架药品购买系统_a7imn57w.zip
- 基于SpringBoot+Vue的软件产品展示销售系统_i522mnd5.zip
- 基于springboot的城乡商城协作系统(编号:57734107).zip