看到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提供了其他语言能够实现的许多功能。
18599fc3d7
] - doc/url: various improvements to WHATWG API (Timothy Gu)e7d37a3f09
] - tools/doc: add more intrinsic and custom types (Timothy Gu)6bcc841786
] - assert: apply minor refactoring (Rich Trott) #115116a2f330dbd
] - assert: remove unneeded condition (Rich Trott) #113140762482339
] - assert: unlock the assert API (Rich Trott) #11304842ac583f6
] - benchmark: add url.domainTo*() (Timothy Gu) #114643951bd9ac1
] - benchmark: strip BOM in dgram/bind-params (Anna Henningsen) #11479e1573b9fb7
] - benchmark: add dgram bind(+/- params) benchmark (Vse Mozhet Byt) #1131348f6660d78
] - benchmark: fix timer display in progress output (Brian White) #112355a81031fd8
] - benchmark: clean up legacy url benchmarks (Joyee Cheung)7e37628c51
] - benchmark: add url/url-searchparams-sort.js (Timothy Gu)4ffad094ba
] - buffer: refactor slowToString (James M Snell) #11358d08a8e68e8
] - buffer: avoid use of arguments (James M Snell) #113584408437796
] - build: add rule to clean addon tests build (Joyee Cheung) #115198d323bb91a
] - build: fail on CI if leftover processes (Rich Trott) #11269d4a8631bd1
] - build: fix newlines in addon build output (Brian White) #11466bc9c381027
] - build: add code coverage to make (Wayne Andrews) #108569c45758cdf
] - build: fix building with ninja on linux (Kenan Yildirim) #1134886a647899f
] - build: don't rebuild test/gc add-on unnecessarily (Ben Noordhuis) #11311c942e2037c
] - child_process: refactor internal/child_process.js (Arseniy Maximov) #113660240eb99a2
] - child_process: remove empty if condition (cjihrig) #1142760fc567952
] - child_process: move anonymous class to top level (Jackson Tian) #1114758e2517fc0
] - child_process: exit spawnSync with null on signal (cjihrig) #112884b4bc13758
] - cluster: properly handle --inspect-{brk,port} (Ali Ijaz Sheikh) #11386570c5e1da8
] - (SEMVER-MINOR) crypto: support OPENSSL_CONF again (Sam Roberts) #11006d4000e73ed
] - deps: cherry-pick 7c982e7 from V8 upstream (Jaideep Bajwa) #11263bd4ccc892c
] - src: add tracing controller (misterpoe) #11106aef67cfe39
] - dgram: fix possibly deoptimizing use of arguments (Vse Mozhet Byt) #11242662b0c31ce
] - dns: avoid use of arguments (James M Snell) #11359fedf26b235
] - doc: update V8 debugger doc to mention --inspect-brk (James Ide) #114951c7f221ef5
] - doc: adding deprecations.md (Italo A. Casas) #1162190bdf16507
] - doc: link to readable and writeable stream section (Sebastian Van Sande) #115173b66ccf0ff
] - doc: document clientRequest.aborted (Zach Bjornson) #11544128f812157
] - doc: argument types for assert methods (Amelia Clarke) #11548b1b6b8b730
] - doc: add changelogs for buffer (Anna Henningsen) #11489597945136e
] - doc: add changelogs for v8 (Anna Henningsen) #11489b01fd8ce3a
] - doc: fix sorting in API references (Vse Mozhet Byt) #1152956cd1932c1
] - doc: note message event listeners ref IPC channels (Diego Rodríguez Baquero) #1149447034e12ad
] - doc: change broken fg(1) links to fg(1p) (Karan Thakkar) #1150447dc5662f3
] - doc: add changelogs for zlib (Anna Henningsen) #114894d122700ab
] - doc: add changelogs for vm (Anna Henningsen) #11489b868468942
] - doc: add changelogs for util (Anna Henningsen) #1148993e7639c12
] - doc: add changelogs for url (Anna Henningsen) #11489f7d59e5568
] - doc: add changelogs for tls (Anna Henningsen) #11489fc53547ed4
] - doc: add changelogs for stream (Anna Henningsen) #11489c373e07a09
] - doc: add changelogs for repl (Anna Henningsen) #11489962d27dbde
] - doc: add changelogs for readline (Anna Henningsen) #114897c609dc30a
] - doc: add changelogs for querystring (Anna Henningsen) #114896285ff2275
] - doc: add changelogs for punycode (Anna Henningsen) #11489df30bc869a
] - doc: add changelogs for process (Anna Henningsen) #11489c1477b9bd3
] - doc: add changelogs for path (Anna Henningsen) #11489ac10a3b306
] - doc: add changelogs for os (Anna Henningsen) #114893183397c8a
] - doc: add changelogs for net (Anna Henningsen) #114896cc8f19e99
] - doc: add changelogs for http (Anna Henningsen) #11489f0cee80de7
] - doc: add changelogs for fs (Anna Henningsen) #11489354161d804
] - doc: add changelogs for events (Anna Henningsen) #114894f936014ff
] - doc: add changelogs for dns (Anna Henningsen) #114895bc9349d40
] - doc: add changelogs for dgram (Anna Henningsen) #11489e23598d09f
] - doc: add changelogs for crypto (Anna Henningsen) #11489296e22adce
] - doc: add changelogs for console (Anna Henningsen) #11489de83e215cb
] - doc: add changelogs for cluster (Anna Henningsen) #114895d4e638e34
] - doc: add changelogs for cli (Anna Henningsen) #11489ad1ad4d06d
] - doc: add changelogs for child_process (Anna Henningsen) #1148942413b611b
] - doc: add changelogs for assert (Anna Henningsen) #11489d3013678fb
] - doc: change STYLE-GUIDE to STYLE_GUIDE (Dean Coakley) #11460c5ff76dadf
] - doc: restrict the ES.Next features usage in tests (DavidCai) #1145298eb18ba3f
] - doc: add comment for net.Server's error event (QianJin2013) #1113620d86db9bb
] - doc: add version meta for SSL_CERT_DIR/FILE (Sam Roberts) #1100766f9506c63
] - doc: improve test/README.md (Joyee Cheung) #112375d12fd9a4b
] - doc: add benchmark/README.md and fix guide (Joyee Cheung) #1123722a6eddc5c
] - doc: move benchmark/README.md to doc/guides (Joyee Cheung) #1123712cf359423
] - doc: add comment for net.Server.listen IPv6 '::' (QianJin2013) #1113483fe819131
] - doc: add STYLE_GUIDE (moved from nodejs/docs) (Gibson Fahnestock) #11321ef1731d972
] - doc: add missing function to test common doc (Rich Trott) #11382c3c874f514
] - doc: dns examples implied string args were arrays (Sam Roberts) #113505f1a568ccc
] - doc: describe when stdout/err is sync (Sam Roberts) #108845a2db15736
] - doc: add documentation for url.format(URL[, options]); (James M Snell)4d7c9427c1
] - doc: synchronize + update _toc.md and all.md (Vse Mozhet Byt) #112066a45265e81
] - doc: update code examples in domain.md (Vse Mozhet Byt) #1111089b66dc636
] - doc,test: args to buffer.copy
can be Uint8Arrays (Anna Henningsen) #114864f6a3d38c3
] - domain,events: support non-object 'error' argument (Ben Noordhuis) #11438214a39294a
] - (SEMVER-MINOR) errors: add internal/errors.js (James M Snell) #11220758126301e
] - fs: improve performance for sync stat() functions (Brian White) #115223e8d43d165
] - http: add new functions to OutgoingMessage (Brian White) #11562614742b67f
] - (SEMVER-MINOR) lib: deprecate node --debug at runtime (Josh Gavant) #11275a710167c79
] - lib: rename kMaxCallbacksUntilQueueIsShortened (JungMinu) #1147361e1af2155
] - lib: remove unnecessary assignments with _extend (Sakthipriyan Vairamani (thefourtheye)) #11364d1549bf8d9
] - lib: add constant kMaxCallbacksUntilQueueIsShortened (Daniel Bevenius) #111993afe90dc9b
] - net: prefer === to == (Arseniy Maximov) #11513db06c7311b
] - os: improve loadavg() performance (Brian White) #11516fe7a722468
] - process: fix typo in comments (levsthings) #1150354e1f0c219
] - process: improve memoryUsage() performance (Brian White) #11497fb85f5049e
] - src: clean up MaybeStackBuffer (Timothy Gu) #11464beda32675f
] - src: don't assume v8::Local is using-declared (Timothy Gu) #1146464a92565e0
] - src: update http-parser link (Daniel Bevenius) #11477539e83a820
] - src: remove usage of deprecated debug API (Yang Guo) #114378be6702539
] - (SEMVER-MINOR) src: add SafeGetenv() to internal API (Sam Roberts) #110067d47f27049
] - src: remove unused variable in node_crypto (cjihrig) #113618a5c0fb0ff
] - src: remove unused typedef (Ben Noordhuis) #1132239b00349b8
] - src, i18n: cleanup usage of MaybeStackBuffer (Timothy Gu) #11464d0483ee47b
] - test: change common.expectsError() signature (Rich Trott) #11512f193c6f996
] - test: favor assertions over console logging (Rich Trott) #115474b05ec3b95
] - test: run test-setproctitle where supported (Howard Hellyer) #11416ff854834b6
] - test: fix flaky test-vm-timeout-rethrow (Kunal Pathak) #11530d7fd694cee
] - test: remove redundant additional url tests (Joyee Cheung) #11439e92ddd46bb
] - test: synchronize WPT url test data (Joyee Cheung) #114394109e0edc4
] - test: remove WHATWG URL test data file extension (Joyee Cheung) #11439ecb3a7e933
] - (SEMVER-MINOR) test: make tls-socket-default-options tests run (Sam Roberts) #11005f5b4849208
] - test: test bottom-up merge sort in URLSearchParams (Daijiro Wachi) #11399ff927b2cf8
] - test: add cases for unescape & unescapeBuffer (Daijiro Wachi) #11326ea29d4852a
] - test: use expectsError in test-debug-agent.js (Arseniy Maximov) #114108e455a9093
] - test: add test for URLSearchParams inspection (Daijiro Wachi) #11428ae9b891a39
] - test: use expectsError in require-invalid-package (Rich Trott) #1140991fac08c3b
] - test: use common.expectsError() (Rich Trott) #1140846084e3270
] - test: refactor common.expectsError() (Rich Trott) #113818fdb6c24f9
] - test: throw check in test-zlib-write-after-close (Jason Wilson) #11482b395ed9407
] - test: increase coverage of vm (DavidCai) #11377000b2a14c1
] - test: add support for --gtest_filter (Daniel Bevenius) #1147434220b75e2
] - test: add regex check to test-module-loading (Tarang Hirani) #114134509d84095
] - test: improve coverage in test-crypto.dh (Eric Christie) #11253da10e2649d
] - test: add error checking in callback (Rich Trott) #114467b8087630f
] - test: refactor test-http-response-splitting (Arseniy Maximov) #11429c37e2b7690
] - test: add test cases for path (Yuta Hiroto) #11453a523482cca
] - test: enhance test-common.js (Rich Trott) #114331d86a9f5eb
] - test: fix over-dependence on native promise impl (Ali Ijaz Sheikh) #11437b457f38e68
] - test: add coverage for utf8CheckIncomplete() (xiaoyu) #11419ca1bae6f3e
] - test: remove unused args and comparison fix (Alexander) #113968ee236f85a
] - test: improve crypto coverage (樋口 彰) #11279add762550c
] - test: consolidate buffer.read() in a file (larissayvette) #11297e416967244
] - test: cases to querystring related to empty string (Daijiro Wachi) #113295723087cdd
] - test: refactor test-dgram-membership (Rich Trott) #11388aea0d501d7
] - test: improve message in net-connect-local-error (Rich Trott) #1139382882f4e90
] - test: cover dgram socket close during bind case (cjihrig) #11383f495389d67
] - test: refactor test-tls-cert-chains-in-ca (Rich Trott) #11367348f2ef59f
] - test: improve crypto coverage (Akito Ito) #11280e7978f04a4
] - test: cover dgram socket close during cluster bind (cjihrig) #1129266081d1ddb
] - test: increase coverage of buffer (DavidCai) #113127aaa960f4c
] - test, url: synchronize WPT url tests (Joyee Cheung)506a1cb03f
] - timer,domain: maintain order of timer callbacks (John Barboza) #105224e327708a9
] - (SEMVER-MINOR) tls: new tls.TLSSocket() supports sec ctx options (Sam Roberts) #11005f37ab7968e
] - tls: do not crash on STARTTLS when OCSP requested (Fedor Indutny) #107065f94ff6231
] - tls: avoid potentially deoptimizing use of arguments (James M Snell) #113570934a27c75
] - tools: enable unicode-bom ESLint rule (Anna Henningsen) #11479eea2eb9111
] - tools: enable one-var-declaration-per-line ESLint rule (Michaël Zasso) #114625b5dca9076
] - tools: suggest python2 command in configure (Roman Reiss) #11375d9d541d564
] - tools,doc: enable changelogs for items (Anna Henningsen) #114894ee9220565
] - tty: avoid oob warning in TTYWrap::GetWindowSize() (Dmitry Tsvettsikh) #114545f10827248
] - url: fix handling of ? in URLSearchParams creation (Timothy Gu) #1137272da362d6e
] - url: fix file state clarification in binding (Daijiro Wachi) #111234366ab539f
] - url: implement URL.prototype.toJSON (Michaël Zasso) #112368dbd562590
] - url: fix surrogate handling in encodeAuth() (Timothy Gu)c25c16cc1b
] - url: add urlSearchParams.sort() (Timothy Gu)d8cb65aa6e
] - url, test: synchronize WPT url tests for file URL (Daijiro Wachi) #11123237db9c497
] - util: cleanup internalUtil.deprecate (James M Snell) #1145095bee8f202
] - util: eliminate unnecessary exports (James M Snell) #114513bdac54e67
] - util: use ES2015+ Object.is to check negative zero (Shinnosuke Watanabe) #113323d133ebd3d
] - util, debugger: remove internalUtil.error (James M Snell) #11448f55c628b2a
] - vm: refactor vm module (James M Snell) #11392本站原创,转载时保留以下信息:
本文转自:深度开源(open-open.com)
原文地址:http://www.open-open.com/news/view/73b51029