サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
2024年ランキング
nodejs.jp
ドキュメント 公式ドキュメント Node.js 最新 Node.js v8.x Node.js v6.x Node.js v4.x Node.js 関連 Node.js入門:初心者でも10分でWebサービスを作れる! ブラウザ上で、Node.jsでの開発を行う方法を解説しています。 Node.js ハンズオン by @meso Node.js のインストールから WebSocket を使った簡単なサンプルが動かせるところまでを解説しています。 Node.js とは何か (1), (2), (3), (4) by @bad_at_math Node.js が生まれた背景、内部実装について解説しています。 The Node Beginner Book JavaScript と Node の入門者向けドキュメントです。(英語) 日本語訳 もあります。 Felix's Node.js Guide
Download the Node.js source code or a pre-built installer for your platform, and start developing today. Current version: v0.10.25
HTTP# Stability: 3 - Stable HTTP サーバおよびクライアントを使用するにはいずれも require('http') が必要です。 Node の HTTP インタフェースは、 伝統的に扱いが難しかったプロトコルの多くの機能をサポートするように設計されています。 とりわけ大きくて、場合によってはチャンク化されたメッセージです。 インタフェースは決してリクエストまたはレスポンス全体をバッファリングしないように気をつけています - 利用者はストリームデータを使うことができます。 HTTP メッセージヘッダはこのようなオブジェクトとして表現されます: { 'content-length': '123', 'content-type': 'text/plain', 'connection': 'keep-alive', 'host': 'mysite.com', 'acc
Readline# Stability: 2 - Unstable このモジュールを使用するには、require('readline') をします。 Readline はストリーム (たとえば process.stdin) を行ごとに読み込むことを可能にします。 このモジュールを一度起動すると、このインタフェースを クローズするまで node プログラムは終了しないことに注意してください。 プログラムをスムーズに終了する方法を以下に示します: var readline = require('readline'); var rl = readline.createInterface({ input: process.stdin, output: process.stdout }); rl.question("What do you think of node.js? ", function(
About this Documentation# このドキュメントのゴールは、Node.js の API についてリファレンスとしても, 概念的な視点としても,包括的な説明をすることです。 それぞれのセクションは組込のモジュールまたは高水準の概念について記述します。 必要に応じて、プロパティの型やメソッドの引数、そしてイベントハンドラに 与えられる引数などの詳細は見出し直後のリストで与えられます。 すべての .html ドキュメントは、対応する .json ドキュメントを持ちます。 それは同じ情報を同様の構造で表現します。 これは実験的で、ドキュメントをプログラム的に扱いたい IDE や他の ユーティリティのために加えられました。 すべての .html と .json ファイルは、node ソースツリーの doc/api/ フォルダにある、対応する .markdown ファイルを基に生成
process process はグローバルオブジェクトで、どこからでもアクセスすることができます。 それは EventEmitter のインスタンスです。 Event: 'exit' function () {} プロセスが終了しようとしている時に生成されます。 これは (ユニットテストのように) モジュールの状態を一定の時間でチェックするのに適したフックとなります。 メインのイベントループは 'exit' コールバックが終了するともはや動作しないので、 タイマーはスケジュールされないかもしれません。 exit を監視する例: process.on('exit', function () { process.nextTick(function () { console.log('This will not run'); }); console.log('About to exit.');
Addons# アドオンは動的に共有オブジェクトをリンクします。 それらは、C や C++ のライブラリに接合点を提供します。 API はいくつかのライブラリの知識が必要で、(現時点では) かなり複雑です。 V8 JavaScript は C++ のライブラリです。 JavaScript のオブジェクト作成や関数呼び出し等のインタフェースに使用されます。 ドキュメントは主に、v8.h のヘッダファイル (Node のソースツリーの中の deps/v8/include/v8.h) に記されていますが、 オンライン で参照することもできます。 libuv は C のイベントループライブラリです。 ファイル記述子が読み取り可能になるのを待つとき、タイマーを待つとき、 シグナルを受信するのを待つときはいつでも、 libv のインタフェースが必要になります。 つまり、何らかの I/O 処理をすると必
Modules# Stability: 5 - Locked Node はシンプルなモジュールローディングシステムを持ちます。 Node では、ファイルとモジュールは1対1に対応します。 例として、 foo.js は、同じディレクトリにある circle.js をロードしています。 foo.js の内容: var circle = require('./circle.js'); console.log( 'The area of a circle of radius 4 is ' + circle.area(4)); circle.js の内容: var PI = Math.PI; exports.area = function (r) { return PI * r * r; }; exports.circumference = function (r) { return 2 * PI
DNS このモジュールにアクセスするには require('dns') を使用します。 これは 'www.google.com' を解決して、返された IP アドレスを逆引きで解決する例です。 var dns = require('dns'); dns.resolve4('www.google.com', function (err, addresses) { if (err) throw err; console.log('addresses: ' + JSON.stringify(addresses)); addresses.forEach(function (a) { dns.reverse(a, function (err, domains) { if (err) { console.log('reverse for ' + a + ' failed: ' + err.messag
REPL# Read-Eval-Print-Loop (REPL) は単独のプログラムとしても他のプログラムに手軽に取り込む形でも利用することができます。 REPL は対話的に JavaScript を実行して結果を確認する手段を提供します。 デバッグやテストやその他の様々なことを試す用途で利用されます。 コマンドラインから node を引数無しで実行することで、REPL プログラムに入ります。 REPL は Emacs 風の簡易な行編集機能を備えています。 mjr:~$ node Type '.help' for options. > a = [ 1, 2, 3]; [ 1, 2, 3 ] > a.forEach(function (v) { ... console.log(v); ... }); 1 2 3 より進んだ行編集を行うには、環境変数に NODE_NO_READLINE=1
Assert このモジュールはアプリケーションの単体テストを記述するために使用され、 require('assert') でアクセスできます。 assert.fail(actual, expected, message, operator) actual と expected を operator で区切ったメッセージを持つ例外を スローします。 assert.ok(value, [message]) value が true かテストします、 これは assert.equal(true, value, message); と等価です。 assert.equal(actual, expected, [message]) == 演算子を強制して浅い同値性をテストします。 assert.notEqual(actual, expected, [message]) == 演算子を強制して浅い非同値
Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の JavaScript 実行環境 上に構築されたプラットフォームです。 Node.jsはイベント駆動とノンブロッキング I/O モデルを使用することにより 軽量・効率的で、分散されたデバイスにまたがるデータ集約的なリアルタイム アプリケーションに最適です。 現在のバージョン: v0.10.1 Node.js in the Industry Nodeは全く新しい種類のリアルタイムアプリケーションを 端から端までJavaScriptで開発する最初の体験をAzureユーザに与えます。 Claudio Caldato Principal Program Manager, Microsoft Open Technologies, Inc. Nodeのイベント化された I/O モデルは、マルチスレッ
Readline このモジュールを使用するには、require('readline') をします。 Readline はストリーム (たとえば標準入力) を行ごとに読み込むことを可能にします。 このモジュールを一度起動すると、このインタフェースと (標準入力などの) ストリームをクローズするまで node プログラムは終了しないことに注意してください。 きれいに終了する方法を以下に示します: var rl = require('readline'); var i = rl.createInterface(process.sdtin, process.stdout, null); i.question("What do you think of node.js?", function(answer) { // TODO: Log the answer in a database consol
Stream# Stability: 2 - Unstable ストリームは Node の様々なオブジェクトで実装される抽象的なインタフェースです。 例えば HTTP サーバへのリクエストは標準出力と同様にストリームです。 ストリームは読み込み可能、書き込み可能、またはその両方です。 全てのストリームは EventEmitter のインスタンスです。 Stream のベースクラスは require('stream') でロードすることができます。 Readable ストリーム、Writable ストリーム、Duplex ストリーム、Transform ストリームのベースクラスが提供されます。 Compatibility# 以前のバージョンの Node では、読み込み可能なストリームのインタフェースは よりシンプルでしたが、強力ではなく使いやすくもありませんでした。 read() メソッドを
net# Stability: 3 - Stable net モジュールは非同期なネットワークのラッパーを提供します。 それはサーバとクライアントの両方 (ストリームと呼ばれます) を作成するための方法を含みます。 このモジュールはrequire("net");によって取り込むことができます。 net.createServer([options], [connectionListener])# 新しい TCP サーバを作成します。 connectionListener 引数は 'connection' イベントに対するリスナーとして自動的に加えられます。 options は以下のデフォルト値を持つオブジェクトです: { allowHalfOpen: false } allowHalfOpen が true だと、反対側のソケットが FIN パケットを送信してきても自動的に FIN を送信し
REPL Read-Eval-Print-Loop (REPL) は単独のプログラムとしても他のプログラムに手軽に取り込む形でも利用することができます。 REPL は対話的に JavaScript を実行して結果を確認する手段を提供します。 デバッグやテストやその他の様々なことを試す用途で利用されます。 コマンドラインから node を引数無しで実行することで、REPL プログラムに入ります。 REPL は Emacs 風の簡易な行編集機能を備えています。 mjr:~$ node Type '.help' for options. > a = [ 1, 2, 3]; [ 1, 2, 3 ] > a.forEach(function (v) { ... console.log(v); ... }); 1 2 3 より進んだ行編集を行うには、環境変数に NODE_NO_READLINE=1 を
Node v0.9.3 2012.10.24, バージョン 0.9.3 (開発版) V8: 3.13.7.4 に更新しました crypto: バイナリ文字列のかわりに buffer が標準になりました (isaacs, Fedor Indutny) crypto: getHashes() と getCiphers() を追加しました (Ben Noordhuis) unix: 独自のスレッドプールを追加し、libeio を削除しました (Ben Noordhuis) util: inspect() が "options" 引数を受け取るようになりました (Nathan Rajlich) https: 再ネゴシエーション攻撃からの保護機能を修正しました (Ben Noordhuis) cluster: 'listening' ハンドラが物理ポートを扱うようになりました (Aaditya Bh
Node.jsは高速でスケーラブルなネットワークアプリケーションを 簡単に構築するためにChrome の JavaScript 実行環境 上に構築されたプラットフォームです。 Node.jsはイベント駆動とノンブロッキング I/O モデルを使用することにより 軽量・効率的で、分散されたデバイスにまたがるデータ集約的なリアルタイム アプリケーションに最適です。 ダウンロード ドキュメント v0.8.3 Node.js in the Industry Nodeは全く新しい種類のリアルタイムアプリケーションを 端から端までJavaScriptで開発する最初の体験をAzureユーザに与えます。 Claudio Caldato Principal Program Manager, Microsoft Open Technologies, Inc. Nodeのイベント化された I/O モデルは、マルチ
Query String このモジュールはクエリ文字列を処理するユーティリティを提供します。 以下のメソッドから成ります: querystring.stringify(obj, sep='&', eq='=') クエリオブジェクトを文字列へ直列化します。オプションとしてデフォルトの区切り文字と代入文字を上書き指定できます。 例: querystring.stringify({foo: 'bar'}) // returns 'foo=bar' querystring.stringify({foo: 'bar', baz: 'bob'}, ';', ':') // returns 'foo:bar;baz:bob' querystring.parse(str, sep='&', eq='=') クエリ文字列をオブジェクトに復元します。オプションとしてデフォルトの区切り文字と代入文字を上書き指定
Japan Node.js Association Node.js ダウンロード 公式ドキュメント Node.js 最新 Node.js v16.x Node.js v14.x Node.js v12.x Node.js v10.x Slack Slack 参加はこちらから
Path このモジュールはファイルパスを扱うユーティリティを含みます。 利用するにはrequire('path')を呼び出してください。 このモジュールは以下のメソッドを提供します。 path.normalize(p) 文字列によるパスを正規化します。'..' と '.' の要素には注意してください。 複数のスラッシュが見つかると、それらは一つに置換されます; パスの最後にスラッシュが含まれていると、それは維持されます。 Windows ではバックスラッシュが使われます。 例: path.normalize('/foo/bar//baz/asdf/quux/..') // returns '/foo/bar/baz/asdf' path.join([path1], [path2], [...]) 全ての引数を一つに結合し、結果として得られるパスを正規化します。 例: node> requi
Child Processes Nodeは ChildProcess クラスを通じて 3 方向の popen(3) 機能を提供します。 それは完全にノンブロッキングな方法で子プロセスの stdin、stdout、 そして stderr を通じたデータストリームを実現します。 子プロセスの生成は require('child_process').spawn() を使います。 子プロセスは常に 3 本のストリームと関連づけられています。 child.stdin、child.stdout、そして child.stderr です。 ChildProcess は EventEmitter です。 Event: 'exit' function (code, signal) {} このイベントは子プロセスが終了した後で生成されます。 プロセスが普通に終了した場合、code はプロセスの終了コードです。
Nodeの目標は、簡単にスケーラブルなネットワークプログラムを 作成する方法を提供することです 以下の"Hello World"WEBサーバの例では、多数のクライアントとの 接続を同時に扱うことができます。 NodeはOSに (epoll や kqueue、 /dev/poll や select を通じて) 新しい接続が来たら知らせるように指示し、 スリープ状態になります。そして新しい接続があると、 コールバックを実行します。 各接続にはほんの小さなヒープしか割り当てられません。 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1
console 標準出力と標準エラー出力に対するブラウザライクなオブジェクトです。 console.log() 改行を伴って標準出力へプリントします。 この関数は printf() のように複数の引数を受け付けます。 console.log('count: %d', count); 第一引数は文字列で、0 個以上の プレースホルダ を含みます。 それぞれのプレースホルダは対応する引数を変換した値で置換されます。 サポートするプレースホルダは: %s - 文字列。%d - 数値 (整数と浮動小数点数の両方)。%j - JSON。 プレースホルダに対応する引数が無い場合は、undefined が使われます console.log('%s:%s', 'foo'); // 'foo:undefined' プレースホルダより多くの引数がある場合、余った引数は util.inspect() によって
File System File I/O は POSIX 標準の関数に対する単純なラッパーとして提供されます。 このモジュールを使用するには require('fs') してください。 全てのメソッドは非同期と同期の形式があります。 非同期の形式は常に最後の引数として完了コールバックを受け取ります。 引数として渡される完了コールバックはメソッドに依存しますが、 最初の引数は常に例外のために予約されています。 操作が成功で完了すると最初の引数は null または undefined となります 非同期バージョンの例です: var fs = require('fs'); fs.unlink('/tmp/hello', function (err) { if (err) throw err; console.log('successfully deleted /tmp/hello'); });
このページは nodejs.org を Node.js日本ユーザグループの 有志が日本語訳したものです。 画像、デザイン及びオリジナル文書(英文)の著作権は、オリジナルの作者に帰属します。 訳文の著作権は、それぞれの訳者に帰属します。 V8 JavaScript を用いたイベント駆動I/Oの実現 全てのリクエストに対して"Hello World"と返答するNodeで書かれたWEBサーバの例です。 var http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }).listen(1337, "127.0.0.1"); console.log('Server runn
次のページ
このページを最初にブックマークしてみませんか?
『Japan Node.js Association』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く