Node.jsはオープンソースで完全にフリーなソフトウェアで、Web開発者がスケーラブルで高速なネットワークプログラムを構築できるようにします。 Node.jsソフトウェアは、ChromeのJavaScriptランタイムに基づいているため、特に非ブロッキングのイベント駆動型I / Oモデルを使用しているため、非常に効率的で軽量です。
サーバーサイドのJavaScriptコードを実行するためのトッププラットフォーム
Node.jsは現在、Google、eBay、Yahoo、LinkedIn、Microsoft、Cloud9などの大企業のプロダクションで使用されているサーバーサイドJavaScriptコードを実行するトッププラットフォームとみなされています。
必須の例
次のコードは、リクエストごとに "Hello World"で応答する簡単なWebサーバーを作成します。
var http = require( 'http');
http.createServer(function(req、res){
res.writeHead(200、{'Content-Type': 'text / plain'});
res.end( 'Hello Worldn');
})。listen(1337、 '127.0.0.1');
console.log( 'Server running at http://127.0.0.1:1337/');
HTTPサーバーを実行するには、上のコードを“ example.js”というファイルに保存する必要があります。 (引用符なし)、端末エミュレータからnodeコマンドで実行します:
%node example.js
http://127.0.0.1:1337/
に掲載されているサーバーサポートされているオペレーティングシステム
Node.jsは、Debian、Ubuntu、Arch Linux、Fedora、Red Hat Enterprise Linux、openSUSE、Mageia、SlackwareなどのGNU / Linuxディストリビューションの下でテストされたマルチプラットフォームアプリケーションです。市販のMac OS XおよびMicrosoft Windowsオペレーティングシステムの場合と同様です。現時点では、64ビットおよび32ビットの命令セットアーキテクチャがサポートされています。
フードの下で、要件と可用性
前述のとおり、これはマルチプラットフォームのソフトウェアです。 Mac OS X、GNU / Linux、Microsoft Windowsオペレーティングシステム用のあらかじめビルドされたインストーラ、Pythonがサポートされているほとんどすべてのオペレーティングシステムでコンパイルおよびインストール可能なユニバーサルソースアーカイブとしてダウンロードできます。 >
このリリースの新機能:
コンソール:
console.timeLog()メソッドが実装されました。 #21312
deps:
libuv 1.22.0にアップグレードしてください。 #21731
ICU 62.1(Unicode 11、CLDR 33.1)にアップグレードしてください。 #21728
http:
http.requestにタイムアウトとエージェントの両方のオプションを渡すサポートが追加されました。 #21204
インスペクタ:
require( 'inspector')コンソールに元のコンソールAPIを公開します。 #21659
ナピ:
bigintを扱う関数の実験的サポートを追加しました。 #21226
プロセス:
process.hrtime.bigint()メソッドが実装されました。 #21256
起動時にプロセスタイトルを設定するための--titleコマンドライン引数を追加しました。 #21477
trace_events:
process_nameメタデータを追加しました。 #21477
新しい共同編集者を追加しました
コードビート - シェリー・フォア
バージョン10.0.0の新機能:
N-APIの完全サポート
新しいVisual Studioコード拡張を使用して簡単にタイムトラベルデバッグを開始する
ジェネレータと非同期関数のTTDサポート
インスペクタプロトコルのサポート
安定性の向上とその他のさまざまな改善
バージョンの新機能:
async_hooks:
async_hooks(Andreas Madsen)にトレースイベントを追加する#15538
ネットサーバー(Andreas Madsen)#17157のプロバイダタイプを追加する
コンソール:
console.debugをインスペクタ(Benjamin Zaslavsky)#17033の外で使用できるようになりました
deps:
libuvを1.18.0にアップグレードする(cjihrig)#17282
パッチV8を6.2.414.46に(Myles Borins)#17206
モジュール:
module.builtinModulesは組み込みのモジュールのリストを返します(Jon Moss)#16386
n-api:
アドオンのヘルパーを追加してイベントループを取得する(Anna Henningsen)#17109
プロセス:
process.setUncaughtExceptionCaptureCallbackを使用して、--abort-on-uncaught-exception(Anna Henningsen)#17159の動作をカスタマイズできるようになりました。
シグナルハンドラは、ハンドラをトリガしたシグナルコードを受信できるようになりました。 (ロバート・ロスマン)#15606
src:
embeddersはNode :: CreatePlatformを使用してNodePlatform(Cheng Zhao)のインスタンスを作成できるようになりました。#16981
ストリーム:
writable.writableHighWaterMarkとreadable.readableHighWaterMarkは、ストリームオブジェクトがインスタンス化された値を返します(Calvin Metcalf)#12860
新しい共同編集者を追加しました
maclover7 Jon Moss
ガイベッドフォードガイベッドフォード
ハシースドン・グオ
バージョン9.2.0の新機能:
crypto:
1.1.0と1.0.2の両方をサポートする建物(David Benjamin)#16130
fs:
fs.realpathSync.nativeとfs.realpath.nativeが公開されました(Ben Noordhuis)#15776
プロセス:
プロセスを公開する.ppid(cjihrig)#16839
バージョン8.5.0の新機能:
ビルド:スナップショットはV8#14875で再び有効になりました
コンソール:
最小限のconsole.group()を実装します。 #14910
deps:
libuvを1.14.1#14866にアップグレードする
nghttp2をv1.25.0#14955に更新する
dns:
dns.lookup()に逐語オプションを追加します。 trueの場合、DNSリゾルバからの結果は、Node.jsがIPv6アドレスの前にIPv4アドレスを置く再切り捨てなしでそのまま渡されます。 #14731
fs:
fs.copyFileとfs.copyFileSyncを追加すると、ファイルの効率的なコピーが可能になります。 #15034
インスペクタ:
非同期スタックトレースを有効にする#13870
モジュール:
ESMのサポートを追加します。これは現在--experimental-modulesフラグの後ろにあり、.mjs拡張子が必要です。ノード--experimental-modules index.mjs#14369
ナピ:
約束を履行する#14365
OS:
networkInterfaces()メソッドの出力にCIDR表記のサポートを追加します。 #14307
perf_hooks:
Node.jsのPerformance Timing APIの初期実装。これは、多数のNode.js固有のプロパティを持つ最新のブラウザで実装されている同じPerformance Timing APIです。 User Timing mark()およびmeasure()APIが実装されています。 #14680
tls:
createSecureContext#14793の複数のPFX
新しい共同編集者が追加されました:
BridgeAR - Ruben Bridgewater
バージョン8.3.0の新機能:
V8エンジンはバージョン6.0にアップグレードされており、パフォーマンスプロファイルが大幅に変更されています。
その他の注目すべき変更:
DNS:
現在、独立したDNSリゾルバインスタンスがサポートされており、対応するリクエストのキャンセルがサポートされています。
N-API:
エラー処理のための複数のN-API関数が、エラーコードの割り当てをサポートするように変更されました。
REPL:
require()のオートコンプリートサポートが改善されました。
ユーティリティ:
WHATWGエンコーディング標準(TextDecoderとTextEncoder)は実験的な機能として実装されています。
バージョン8.1.3の新機能:
ストリームストリームモジュールの2つの回帰が修正されました。
終了イベントは、エラーイベントが発生した後で常に送出されるようになりました。[0a9e96e86c]#13850
オブジェクトモードでは、読み込み可能なストリームでundefinedを再度使用できるようになりました。 [5840138e70]#13760
バージョン8.1.2の新機能:
8.1.1のbroken process.releaseプロパティを修正して、Windows以外のプラットフォームでネイティブアドオンをコンパイルできないようにしました。これはNode.jsビルドプロセスの修正版であるため、8.1.1の上に追加のコードコミットは含まれていません。
バージョン7.7.1の新機能:
[c8e34b61f6] - ビルド:不足しているsrc /トレースヘッダファイルを追加する(Daniel Bevenius)#10851
[96f55f9e59] - src:trace_event.hを内部ヘッダーに移動する(Ben Noordhuis)#10959
[30c80cbe6f] - src:TracingControllerのクリーンアップを修正する(Jason Ginchereau)#10623
[b89b2a7d36] - src:エージェントの追跡コントローラを常に初期化する(Matt Loring)#10507
[54e55e05ca] - テスト:test-intl-no-icu-dataをより堅牢にする(Michael Zasso)#10992
[7b253eb3ed] - テスト:テストトレースイベントの厳密性を高める(Rich Trott)#11065
[3dc4a5f1f4] - トレース:修正 - 専用フィールド警告(Santiago Gimeno)#10416
[8a918bf411] - トレース:修正 - 警告警告(Santiago Gimeno)#10416
バージョン7.4.0の新機能:
バッファ:
バッファ割り当てのパフォーマンスを〜11%向上させます。 (ブライアン・ホワイト)#10443
Buffer.from()のパフォーマンスを〜50%向上させます。 (ブライアン・ホワイト)#10443
events:EventEmitter.once()のパフォーマンスを〜27%向上させます。 (ブライアン・ホワイト)#10445
fs:バッファがサポートされているfsメソッドにUint8Arrayを渡すことを許可します。 (Anna Henningsen)#10382
http:httpサーバーのパフォーマンスを〜7%向上させます。 (ブライアン・ホワイト)#6533
npm:v4.0.5にアップグレードする(Kat Marchan)#10330
バージョン7.2.1の新機能:
バッファ:
Buffer()を呼び出す際のランタイム非推奨を新しいものなしに戻しました。 (Anna Henningsen)#9529
UCS2へのシングルバイト文字エンコーディングのbuffer.transcode()が修正されました。 (Anna Henningsen)#9838
promise:--trace-warningsは、Promiseの警告のための有用なスタックトレースを生成するようになりました。 (Anna Henningsen)#9525
repl:ジェネレータ関数の正しい解析を妨げるバグを修正しました。 (テディ・カッツ)#9852
V8:パフォーマンス回帰の重要なインスタンスを修正しました。 (Franziska Hinkelmann)#9730
バージョン7.2.0の新機能:
暗号:DecipherのメソッドsetAuthTag()とsetAADがこれを返すようになりました。
dns:resolve4()とresolve6()に対して{ttl:true}を実装しました。
libuv:v1.10.1にアップグレードする
Windows 10でコンソールにデータを書き込む際にバッファオーバーフローが発生する可能性を修正しました。(CVE-2016-9551)
process:memoryUsage()が返すデータに新しい外部プロパティを追加しました。
tls:ハンドシェイク中に破棄されたTLS接続で書き込みがキューに入れられたときのメモリリークを修正しました。
V8(dep):v5.4.500.43にアップグレードする
v8:getHeapStatistics()が返すデータに、malloced_memory、peak_malloced_memory、およびdoes_zap_garbageの3つの新しいフィールドが追加されました。
バージョン6.4.0の新機能:
build:zlibシンボルと追加のOpenSSLシンボルがWindowsプラットフォームで公開されるようになりました。 (Alex Hultman)#7983と#7576
child_process、cluster:フォークされた子プロセスとクラスタワーカーは、stdio構成をサポートするようになりました。 (Colin Ihrig)#7811および#7838
child_process:生成されたプロセスでargv [0]を任意の値に設定できるようになりました。 (パントパット)#7696
fs:fs.ReadStreamはこれまでに読み込んだバイト数を公開するようになりました。 (Linus Unneback)#7942
repl:REPLはエディタモードをサポートするようになりました。 (プリンスJウェズリー)#7275
util:inspect()は、util.inspect.defaultOptionsを使用してグローバルに設定できるようになりました。 (ローマン・ライス)#8013
バージョン6.3.0の新機能:
バッファ:buffer.swap64()を追加してswap16()とamp; swap32()。 (ザック・ビョルソン)#7157build:Node.jsを共有ライブラリとして構築するための新しいconfigureオプションが追加されました。 (ステファン・ブデナウ)#6994
オプションは--shared、--without-v8-platform& amp; --with-bundled-v8。
crypto:ルート証明書が更新されました。 (Ben Noordhuis)#7363
デバッガ:サーバアドレスは--debug =:で設定可能になりました。 (Ben Noordhuis)#3316
npm:npmからv3.10.3(Kat Marchan)#7515& (レベッカ・ターナー)#7410
readline:プロンプトオプションをreadlineコンストラクタに追加しました。 (エヴァン・ルーカス)#7125
repl / vm:sigint / ctrl + cはNode.jsインスタンスを停止せずに無限ループから抜け出すようになりました。 (アンナヘニングシンゲン)#6635
src:
node :: FreeEnvironment public C ++ APIを追加しました。 (鄭趙)#3098
Refactored require( '定数')では、定数はそれぞれのモジュールから直接利用できるようになりました。 (ジェームズ・M・スネル)#6534
stream:readable.read()のパフォーマンスを最大70%向上させました。 (ブライアン・ホワイト)#7077
タイマー:setImmediate()は、状況によっては最大150%高速になりました。 (Andras)#6436
util:util.inspect()にbreakLengthオプションを追加して、オブジェクトが行間でどのようにフォーマットされるかを制御しました。 (cjihrig)#7499
v8-inspector:Node.jsをインスペクタプロトコルでデバッグするための実験的サポートが追加されました。 (アリ・イヤズ・シェイク)#6792
注:この機能は実験的なものであり、変更または削除することができます。
--inspectフラグを付けてNode.jsを実行すると、この機能を試すことができます。
バージョン6.0.0の新機能:
バッファ:新しいバッファコンストラクタが#4682と#5833で追加されました。
既存のBuffer()およびSlowBuffer()コンストラクタは、ドキュメント#4682および#5833で非推奨になりました。
以前は廃止されたバッファAPIは#5048、#4594で削除されていました。
改善されたエラー処理#4514。
Buffer.prototype.lastIndexOf()メソッドが#4846追加されました。
クラスタ:
ワーカーは 'メッセージ'イベント#5361で最初の引数として発行しました。
worker.suicide#3743は、worker.exitedAfterDisconnectプロパティで置き換えられました。
コンソール:
未知のラベルを持つconsole.timeEnd()を呼び出すと、#5901を投げるのではなく、プロセス警告が出されるようになりました。
暗号:
改善されたエラー処理#3100、#5611。
簡略化された証明書クラスのバインディング#5382。
FIPSモード#5181の制御が改善されました。
pbkdf2ダイジェストのオーバーロードは廃止されました#4047。
依存関係:
共用c-ares構築サポート#5775を再導入する。
V8は5.0.71.35#6372に更新されました。
DNS:
dns.resolvePtr()APIを追加して、プレーンなDNS PTRレコード#4921を照会します。
ドメイン:
エラーハンドラがない場合はスタックをクリアします#4659。
イベント:EventEmitter.prototype._eventsオブジェクトはObject.prototype#6092から継承しなくなりました。
EventEmitter.prototype.prependListener()およびEventEmitter.prototype.prependOnceListener()メソッドが#6032追加されました。
ファイルシステム:
fs.realpath()およびfs.realpathSync()メソッドは、より効率的なlibuvベースの実装を使用するように更新されました。この変更には、キャッシュ引数の削除が含まれており、メソッドは新しいエラー#3594をスローする可能性があります。
FS apisはパスを受け入れ、バッファ#5616としてパスを返すことができるようになりました。
エラー処理とタイプチェックの改善#5616、#5590、#4518、#3917。
fs.readの文字列インターフェイスは廃止されました#4525。
HTTP:
'clientError'を使用して、HTTPサーバー#4557からカスタムエラーを返すことができるようになりました。
モジュール:
現在のディレクトリはローカルルックアップ#5689のために優先順位が変更されました。
シンボリックリンクはモジュール#5950が必要な場合に保存されます。
ネット:
DNSヒントは暗黙的に#6021に設定されなくなりました。
改善されたエラー処理とタイプチェック#5981、#5733、#2904。
OS X:
MACOSX_DEPLOYMENT_TARGETは10.7#6402までバンプされています。
パス:
改良された型チェック#5348。
プロセス:プロセス警告API#4782を導入してください。
nextTick#3860に関数が渡されなかった場合は例外をスローします。
クエリ文字列:
querystring.parse()によって返されたオブジェクトは、もはやObject.prototype#6055を継承しません。
読み込まれた行:
キー情報は無条件#6024で発行されます。
履歴を明示的に無効にすることができます#6352。
REPL:
_に代入すると警告#5535が発生します。
evalが#6328に失敗した場合、式はもう終了しません。
タイマー:
コールバックが関数#4362でない場合、早期に失敗します。
ストリーム:
nullはオブジェクトモード#6170で書き込む無効なチャンクになりました。
TLS:
'clientError'を 'tlsClientError'に変更します#4557。
sessionIdContext#3866にSHA1が使用されました。
TTY:
以前は非推奨のsetRawModeラッパーが削除されました#2528。
URL:
ホストが#1480を変更すると、ユーザー名とパスワードはurl.resolve()によって削除されます。
Util:
エラーオブジェクトのフォーマット#4582への変更。
util._extend()メソッドは廃止されました#4903
util.log()メソッドは廃止されました#6161。
Windows:
Windows XPおよびVistaはもはやサポートされていません。
Zlib:Zlib処理#5883と#5707が複数改善されました。
要件:
Python
コメントが見つかりません