看到Node.js这个名字,初学者可能会误以为这是一个Javascript应用,事实上,Node.js采用C++语言编写而成,是一个Javascript的运行环境。为什么采用C++语言呢?据Node.js创始人Ryan Dahl回忆,他最初希望采用Ruby来写Node.js,但是后来发现Ruby虚拟机的性能不能满足他的要求,后来他尝试采用V8引擎,所以选择了C++语言。既然不是Javascript应用,为何叫.js呢?因为Node.js是一个Javascript的运行环境。Node.js是一个后端的Javascript运行环境(支持的系统包括Linux、Windows和Mac等),这意味着你可以编写系统级或者服务器端的Javascript代码,交给Node.js来解释执行,Node.js采用了Google Chrome浏览器的V8引擎,性能很好,同时还提供了很多系统级的API,如文件操作、网络编程等。浏览器端的Javascript代码在运行时会受到各种安全性的限制,对客户系统的操作有限。相比之下,Node.js则是一个全面的后台运行时,为Javascript提供了其他语言能够实现的许多功能。
更新日志
Notable Changes
- debugger:
- All properties of an array (aside from length) can now be printed in the repl (cjihrig) #6448
- npm:
- Upgrade npm to 2.15.8 (Rebecca Turner) #7412
- stream:
- Fix for a bug that became more prevalent with the stream changes that landed in v4.4.5. (Anna Henningsen) #7160
- V8:
- Fix for a bug in crankshaft that was causing crashes on arm64 (Myles Borins) #7442
- Add missing classes to postmortem info such as JSMap and JSSet (evan.lucas) #3792
Commits
- [
87cdb83a96
] - benchmark: merge url.js with url-resolve.js (Andreas Madsen) #5177 - [
921e8568d5
] - benchmark: move misc to categorized directories (Andreas Madsen) #5177 - [
c189eec14e
] - benchmark: fix configuation parameters (Andreas Madsen) #5177 - [
58ad451f0b
] - benchmark: move string-decoder to its own category (Andreas Madsen) #5177 - [
a01caa3166
] - build: don't compile with -B, redux (Ben Noordhuis) #6650 - [
37606caeaf
] - build: don't compile with -B (Ben Noordhuis) #6393 - [
64fb7a1929
] - build: update android-configure script for npm (Robert Chiras) #6349 - [
43ce6fc8d2
] - build: fix DESTCPU detection for binary target (Richard Lau) #6310 - [
6dfe7aeed5
] - cares: Support malloc(0) scenarios for AIX (Gireesh Punathil) #6305 - [
2389006720
] - debugger: display array contents in repl (cjihrig) #6448 - [
1c6809ce75
] - debugger: introduce exec method for debugger (Jackson Tian) - [
200b3ca9ed
] - deps: upgrade npm in LTS to 2.15.8 (Rebecca Turner) #7412 - [
49921e8819
] - deps: backport 102e3e87e7 from V8 upstream (Myles Borins) #7442 - [
de00f91041
] - deps: backport bc2e393 from v8 upstream (evan.lucas) #3792 - [
1549899531
] - dgram,test: add addMembership/dropMembership tests (Rich Trott) #6753 - [
0ba3c2ca66
] - doc: fix layout problem in v4 changelog (Myles Borins) #7394 - [
98469ad84d
] - doc: correct args for cluster message event (Colin Ihrig) #7297 - [
67863f110b
] - doc: update licenses (Myles Borins) #7127 - [
c31eaad42d
] - doc: clarify buffer class (Steve Mao) #6914 - [
e0dd476fe5
] - doc: fix typos in timers topic to aid readability (Kevin Donahue) #6916 - [
a8391bc9fc
] - doc: add jhamhader to collaborators (Yuval Brik) #6946 - [
22ca7b877b
] - doc: add @othiym23 to list of collaborators (Forrest L Norvell) #6945 - [
2c3c4e5819
] - doc: reference list of language-specific globals (Anna Henningsen) #6900 - [
5a1a0b5ed1
] - doc: make the api doc print-friendly (Marian) #6748 - [
03db88e012
] - doc: add bengl to collaborators (Bryan English) #6921 - [
fbf95dde94
] - doc: Update DCO to v1.1 (William Kapke) #6353 - [
f23a9c39c0
] - doc: fix typo in Error.captureStackTrace (Mohsen) #6811 - [
30ab6a890c
] - doc: fix name to match git log (Robert Jefe Lindstaedt) #6880 - [
2b0f40ca16
] - doc: add note for fs.watch virtualized env (Robert Jefe Lindstaedt) #6809 - [
3b461870be
] - doc: Backport ee.once doc clarifications to 4.x. (Lance Ball) #7103 - [
eadb7e5b20
] - doc: subdivide TOC, add auxiliary links (Jeremiah Senkpiel) #6167 - [
107839c5dd
] - doc: no Node.js(1) (Jeremiah Senkpiel) #6167 - [
401325f9e2
] - doc: better example & synopsis (Jeremiah Senkpiel) #6167 - [
c654184f28
] - doc: remove link to Sign in crypto.md (Kirill Fomichev) #6812 - [
3e9288e466
] - doc: fix exec example in child_process (Evan Lucas) #6660 - [
3d820e45b4
] - doc: "a" -> "an" in api/documentation.md (Anchika Agarwal) #6689 - [
352496daa2
] - doc: move the readme newcomers section (Jeremiah Senkpiel) #6681 - [
ac6b921ce5
] - doc: mention existence/purpose of module wrapper (Matt Harrison) #6433 - [
97d1fc0fc6
] - doc: improve onboarding-extras.md formatting (Jeremiah Senkpiel) #6548 - [
c9b144ddd4
] - doc: linkify remaining references to fs.Stats object (Kevin Donahue) #6485 - [
d909c25a33
] - doc: fix the lint of an example in cluster.md (yorkie) #6516 - [
21d02f460f
] - doc: add missing underscore for markdown italics (Kevin Donahue) #6529 - [
18ecc779bb
] - doc: ensure consistent grammar in node.1 file (justshiv) #6426 - [
52d9e7b61d
] - doc: fix a typo in __dirname section (William Luo) #6473 - [
de20235235
] - doc: remove all scrollbar styling (Claudio Rodriguez) #6479 - [
a6f45b4eda
] - doc: Remove extra space in REPL example (Juan) #6447 - [
feda15b2b8
] - doc: update build instructions for OS X (Rich Trott) #6309 - [
3d1a3e4a30
] - doc: change references to Stable to Current (Myles Borins) #6318 - [
e28598b1ef
] - doc: update authors (James M Snell) #6373 - [
0f3a94acbd
] - doc: add JacksonTian to collaborators (Jackson Tian) #6388 - [
d7d54c8fd2
] - doc: add Minqi Pan to collaborators (Minqi Pan) #6387 - [
83721c6fd2
] - doc: add eljefedelrodeodeljefe to collaborators (Robert Jefe Lindstaedt) #6389 - [
b112fd1b4e
] - doc: add ronkorving to collaborators (ronkorving) #6385 - [
ac60d9cc86
] - doc: add estliberitas to collaborators (Alexander Makarenko) #6386 - [
435cd56de5
] - doc: DCO anchor that doesn't change (William Kapke) #6257 - [
7d8141dd1b
] - doc: add stefanmb to collaborators (Stefan Budeanu) #6227 - [
6dfc96326d
] - doc: add iWuzHere to collaborators (Imran Iqbal) #6226 - [
3dbcc73159
] - doc: add santigimeno to collaborators (Santiago Gimeno) #6225 - [
ae3eb24a3d
] - doc: add addaleax to collaborators (Anna Henningsen) #6224 - [
46ee7bb4ba
] - doc: fix incorrect references in buffer docs (Amery) #6194 - [
e3f78eb7c1
] - doc: improve rendering of v4.4.5 changelog entry (Myles Borins) #6958 - [
bac87d01d9
] - gitignore: adding .vs/ directory to .gitignore (Mike Kaufman) #6070 - [
93f2314dc2
] - gitignore: ignore VS 2015 *.VC.opendb files (Mike Kaufman) #6070 - [
c98aaf59bf
] - http: speed up checkIsHttpToken (Jackson Tian) #4790 - [
552e25cb6b
] - lib,test: update in preparation for linter update (Rich Trott) #6498 - [
aaeeec4765
] - lib,test,tools: alignment on variable assignments (Rich Trott) #6869 - [
b3acbc5648
] - net: replace defineGetter with defineProperty (Fedor Indutny) #6284 - [
4c1eb5bf03
] - repl: create history file with mode 0600 (Carl Lei) #3394 - [
90306bb81d
] - src: use size_t for http parser array size fields (Ben Noordhuis) #5969 - [
af41a63d0f
] - src: replace ARRAY_SIZE with typesafe arraysize (Ben Noordhuis) #5969 - [
037291e31f
] - src: make sure Utf8Value always zero-terminates (Anna Henningsen) #7101 - [
a08a0179e9
] - stream: ensure awaitDrain is increased once (David Halls) #7292 - [
b73ec46dcb
] - stream: reset awaitDrain after manual .resume() (Anna Henningsen) #7160 - [
55319fe798
] - stream_base: expose bytesRead
getter (Fedor Indutny) #6284 - [
0414d882ce
] - test: fix test-net-* error code check for getaddrinfo(3) (Natanael Copa) #5099 - [
be0bb5f5fc
] - test: fix unreliable known_issues test (Rich Trott) #6555 - [
ab50e82f42
] - test: fix test-process-exec-argv flakiness (Santiago Gimeno) #7128 - [
4e38655d5f
] - test: refactor test-tls-reuse-host-from-socket (Rich Trott) #6756 - [
1c4549a31e
] - test: fix flaky test-stdout-close-catch (Santiago Gimeno) #6808 - [
3b94e31245
] - test: robust handling of env for npm-test-install (Myles Borins) #6797 - [
4067cde7ee
] - test: abstract skip functionality to common (Jeremiah Senkpiel) #7114 - [
8b396e3d71
] - test: fix test-debugger-repl-break-in-module (Rich Trott) #6686 - [
847b29c050
] - test: fix test-debugger-repl-term (Rich Trott) #6682 - [
1d68bdbe3f
] - test: fix error message checks in test-module-loading (James M Snell) #5986 - [
7e739ae159
] - test,tools: adjust function argument alignment (Rich Trott) #7100 - [
216486c2b6
] - tools: lint for function argument alignment (Rich Trott) #7100 - [
6a76485ad7
] - tools: update ESLint to 2.9.0 (Rich Trott) #6498 - [
a31153c02c
] - tools: remove the minifying logic (Sakthipriyan Vairamani) #6636 - [
10bd1a73fd
] - tools: fix license-builder.sh again for ICU (Steven R. Loomis) #6068 - [
0f6146c6c0
] - tools: add tests for the doctool (Ian Kronquist) #6031 - [
cc3645cff3
] - tools: lint for alignment of variable assignments (Rich Trott) #6869
下载
Additional Platforms