Node.jsコアモジュールメモ
4376 ワード
グローバルオブジェクト
JavaScriptの中には特殊なオブジェクトがあり、グローバルオブジェクト(Global Object)となり、そのすべての属性はプログラムのどこにでもアクセスできます.すなわちグローバル変数です.ブラウザJavaScriptでは、通常windowはグローバルオブジェクトであり、Node.jsのグローバルオブジェクトはglobalであり、すべてのグローバル変数(global自体を除いて)はglobalオブジェクトの属性である.globalの最も根本的な役割はグローバル変数の宿主である.ECMAScriptの定義に従って、以下の条件を満たす変数はグローバル変数です.グローバルオブジェクトの属性;暗黙的に定義された変数(直接割当値が定義されていない変数)は、ノード.jsの中で最も外側の階層で変数を定義してはいけません.すべてのユーザーコードは現在のモジュールに属していますが、モジュール自体は最外のコンテキストではありません.
processはグローバル変数で、globalオブジェクトの属性です.現在のNode.jsプロセス状態を記述するオブジェクトに使用され、オペレーティングシステムとの簡単なインターフェースが提供されます.process.argvはコマンドラインパラメータ配列で、最初の要素はnodeで、第二の要素はスクリプトファイル名で、第三の要素から各要素は運転パラメータです.process.stdoutは標準出力ストリームであり、通常はconsolie.log()を使用して標準に印刷文字を出力するが、process.stdout.write関数はより低い層のインターフェースを提供する.process.stdinは標準入力ストリームで、最初は一時停止されました.標準入力からデータを読み取るには、ストリームを復元し、手動でストリームのイベント応答関数を作成しなければなりません.process.nextTick機能はイベントサイクルのためにタスクを設定し、Node.jsは次のイベントのサイクル応答時にコールバックを呼び出す.
consoneはコンソール標準出力を提供するために使用されています.これはInternet ExplorerのJScriptエンジンによって提供されるデバッグツールです.それからブラウザの事実基準になります.Node.jsは、標準出力ストリームまたは標準エラーストリームに文字を出力するためのこの標準を使用しています.
常用ツールutil
utilはNode.jsコアモジュールであり、よく使われる関数のセットを提供して、コアJavaScriptの機能があまりにも簡素化されていないことを補う.utill.inhers util.inhersはオブジェクト間原型継承を実現する関数です.注:プロトタイプに定義された関数のみを継承しますが、コンストラクタ内部で作成された属性は、util.inspect util.inspect(object,showHdden),[depth],[colors]を引き継ぐことなく、任意のオブジェクトを文字に変換する方法で、通常はデバッグやエラーの出力に使用されます.これは少なくとも一つのパラメータobjectを受け入れます.すなわち変換する対象です.
イベントドリブン
eventsはNode.jsの最も重要なモジュールであり、その理由はNode.js自身のアーキテクチャがイベント式であり、それは唯一のインターフェースを提供しているので、Node.jsイベントプログラミングの基礎とも言える.
イベント送信機eventsモジュールは一つのオブジェクトのみを提供します.events.EventEmitter.EventEmitterの核心はイベント送信とイベントモニター機能のパッケージです.各イベントは一つのイベント名といくつかのパラメータから構成される.EventEmitter.onは指定されたイベントのためにモニターを登録し、文字列イベントとフィードバック関数のlistenerを受け付けます.EventEmitter.eit(イベント、[arg 1]、[arg 2]、[…])はイベントを送信し、幾つかのオプションパラメータをイベントモニターのパラメータテーブルに転送します.EventEmitter.once(イベント、listener)は指定されたイベントのために単一のモニターを登録します.つまり、モニターは最大一回しかトリガできません.トリガが発生したらすぐにモニターを解除します.EventEmitter.removeListener(event,listener)は指定されたイベントのあるモニターを削除します.listenerはこのイベントが登録されたモニターでなければなりません.EventEmitter.removeAllListenerはすべてのイベントのすべてのモニターを削除し、イベントを指定すると、指定されたイベントのすべてのモニターを削除します.
errorイベントEventEmitterは特別なイベントerrorを定義しています.異常が発生すると、通常はerrorイベントを送信します.errorが送信されると、EventEmitterは応答のモニターがないとNode.jsが異常としてプログラムを終了し、呼び出しスタックを印刷すると規定しています.注:一般的にはエラーロイベントを送信する対象にモニターを設置し、エラーによるプログラム全体の崩壊を避ける.
EventEmitterを継承するとイベント応答をサポートするコアモジュールはすべてEventEmitterのサブクラスです.fs、net、httpを含め、対応するコアモジュールはすべてEventEmitterのサブクラスです.
ファイルシステムfs
fsモジュールはファイル操作のパッケージであり、ファイルの読み込み、書き込み、改名、削除、便利ディレクトリ、リンクなどのPOSIXファイルシステムの操作を提供しています.注:POSIXは、移植可能なオペレーティングシステムインターフェースを表し、POSIX標準はオペレーティングシステムアプリケーションが提供するインターフェース標準を定義しています.
fs.readFile(非同期)fs.readfile(filename,encoding),[calback(err,data)]
fs.readFileSync(同期)fs.readFileSync(filename,encoding)
fs.open fs.open(path,flags,mode,calback(err,fd))はPOSIX open関数のパッケージで、pathはファイルのパスです.flagsは以下の値です.r:読み取りモードでファイルを開きます.r+:読み書きモードでファイルを開くw:書き込みモードでファイルを開き、ファイルが存在しない場合は作成します.w+:読み書きモードでファイルを開き、ファイルが存在しない場合に作成します.a:ファイルを追加モードで開き、ファイルが存在しない場合に作成します.a+:追加モードを読み出してファイルを開き、ファイルが存在しない場合に作成します.
fs.read fs.read(fd,buffer,offset,length,position)は、POSIX read関数のパッケージであり、fs.readFileよりも下のインターフェースを提供しています.
HTTPサーバとクライアント
Node.js標準ライブラリはhttpモジュールを提供しています.ここでは効率的なHTTPサーバと簡易なHTTPクライアントが封入されています.HTTPサーバhttp.ServerはイベントベースのHTTPサーバであり、その核心はNode.js下層C++の部分によって実現され、インターフェースはJavaScriptによってカプセル化され、高性能と簡易性を兼ね備えている.http.Serverはhttpモジュールの中のHTTPサーバオブジェクトで、Node.jsがするすべてのHTTPプロトコルに基づくシステムです.それはパッケージレベルが低いAPIのセットを提供しています.制御と簡単なメッセージ解析だけで、すべての高層機能はそのインターフェースを通じて実現されます.
JavaScriptの中には特殊なオブジェクトがあり、グローバルオブジェクト(Global Object)となり、そのすべての属性はプログラムのどこにでもアクセスできます.すなわちグローバル変数です.ブラウザJavaScriptでは、通常windowはグローバルオブジェクトであり、Node.jsのグローバルオブジェクトはglobalであり、すべてのグローバル変数(global自体を除いて)はglobalオブジェクトの属性である.globalの最も根本的な役割はグローバル変数の宿主である.ECMAScriptの定義に従って、以下の条件を満たす変数はグローバル変数です.グローバルオブジェクトの属性;暗黙的に定義された変数(直接割当値が定義されていない変数)は、ノード.jsの中で最も外側の階層で変数を定義してはいけません.すべてのユーザーコードは現在のモジュールに属していますが、モジュール自体は最外のコンテキストではありません.
processはグローバル変数で、globalオブジェクトの属性です.現在のNode.jsプロセス状態を記述するオブジェクトに使用され、オペレーティングシステムとの簡単なインターフェースが提供されます.process.argvはコマンドラインパラメータ配列で、最初の要素はnodeで、第二の要素はスクリプトファイル名で、第三の要素から各要素は運転パラメータです.process.stdoutは標準出力ストリームであり、通常はconsolie.log()を使用して標準に印刷文字を出力するが、process.stdout.write関数はより低い層のインターフェースを提供する.process.stdinは標準入力ストリームで、最初は一時停止されました.標準入力からデータを読み取るには、ストリームを復元し、手動でストリームのイベント応答関数を作成しなければなりません.process.nextTick機能はイベントサイクルのためにタスクを設定し、Node.jsは次のイベントのサイクル応答時にコールバックを呼び出す.
consoneはコンソール標準出力を提供するために使用されています.これはInternet ExplorerのJScriptエンジンによって提供されるデバッグツールです.それからブラウザの事実基準になります.Node.jsは、標準出力ストリームまたは標準エラーストリームに文字を出力するためのこの標準を使用しています.
常用ツールutil
utilはNode.jsコアモジュールであり、よく使われる関数のセットを提供して、コアJavaScriptの機能があまりにも簡素化されていないことを補う.utill.inhers util.inhersはオブジェクト間原型継承を実現する関数です.注:プロトタイプに定義された関数のみを継承しますが、コンストラクタ内部で作成された属性は、util.inspect util.inspect(object,showHdden),[depth],[colors]を引き継ぐことなく、任意のオブジェクトを文字に変換する方法で、通常はデバッグやエラーの出力に使用されます.これは少なくとも一つのパラメータobjectを受け入れます.すなわち変換する対象です.
イベントドリブン
eventsはNode.jsの最も重要なモジュールであり、その理由はNode.js自身のアーキテクチャがイベント式であり、それは唯一のインターフェースを提供しているので、Node.jsイベントプログラミングの基礎とも言える.
イベント送信機eventsモジュールは一つのオブジェクトのみを提供します.events.EventEmitter.EventEmitterの核心はイベント送信とイベントモニター機能のパッケージです.各イベントは一つのイベント名といくつかのパラメータから構成される.EventEmitter.onは指定されたイベントのためにモニターを登録し、文字列イベントとフィードバック関数のlistenerを受け付けます.EventEmitter.eit(イベント、[arg 1]、[arg 2]、[…])はイベントを送信し、幾つかのオプションパラメータをイベントモニターのパラメータテーブルに転送します.EventEmitter.once(イベント、listener)は指定されたイベントのために単一のモニターを登録します.つまり、モニターは最大一回しかトリガできません.トリガが発生したらすぐにモニターを解除します.EventEmitter.removeListener(event,listener)は指定されたイベントのあるモニターを削除します.listenerはこのイベントが登録されたモニターでなければなりません.EventEmitter.removeAllListenerはすべてのイベントのすべてのモニターを削除し、イベントを指定すると、指定されたイベントのすべてのモニターを削除します.
errorイベントEventEmitterは特別なイベントerrorを定義しています.異常が発生すると、通常はerrorイベントを送信します.errorが送信されると、EventEmitterは応答のモニターがないとNode.jsが異常としてプログラムを終了し、呼び出しスタックを印刷すると規定しています.注:一般的にはエラーロイベントを送信する対象にモニターを設置し、エラーによるプログラム全体の崩壊を避ける.
EventEmitterを継承するとイベント応答をサポートするコアモジュールはすべてEventEmitterのサブクラスです.fs、net、httpを含め、対応するコアモジュールはすべてEventEmitterのサブクラスです.
ファイルシステムfs
fsモジュールはファイル操作のパッケージであり、ファイルの読み込み、書き込み、改名、削除、便利ディレクトリ、リンクなどのPOSIXファイルシステムの操作を提供しています.注:POSIXは、移植可能なオペレーティングシステムインターフェースを表し、POSIX標準はオペレーティングシステムアプリケーションが提供するインターフェース標準を定義しています.
fs.readFile(非同期)fs.readfile(filename,encoding),[calback(err,data)]
fs.readFileSync(同期)fs.readFileSync(filename,encoding)
fs.open fs.open(path,flags,mode,calback(err,fd))はPOSIX open関数のパッケージで、pathはファイルのパスです.flagsは以下の値です.r:読み取りモードでファイルを開きます.r+:読み書きモードでファイルを開くw:書き込みモードでファイルを開き、ファイルが存在しない場合は作成します.w+:読み書きモードでファイルを開き、ファイルが存在しない場合に作成します.a:ファイルを追加モードで開き、ファイルが存在しない場合に作成します.a+:追加モードを読み出してファイルを開き、ファイルが存在しない場合に作成します.
fs.read fs.read(fd,buffer,offset,length,position)は、POSIX read関数のパッケージであり、fs.readFileよりも下のインターフェースを提供しています.
HTTPサーバとクライアント
Node.js標準ライブラリはhttpモジュールを提供しています.ここでは効率的なHTTPサーバと簡易なHTTPクライアントが封入されています.HTTPサーバhttp.ServerはイベントベースのHTTPサーバであり、その核心はNode.js下層C++の部分によって実現され、インターフェースはJavaScriptによってカプセル化され、高性能と簡易性を兼ね備えている.http.Serverはhttpモジュールの中のHTTPサーバオブジェクトで、Node.jsがするすべてのHTTPプロトコルに基づくシステムです.それはパッケージレベルが低いAPIのセットを提供しています.制御と簡単なメッセージ解析だけで、すべての高層機能はそのインターフェースを通じて実現されます.
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, {'Content-Type':'text/html'});
res.write('Node.js'
);
res.end('Hello World
');
}).listen(3000);
console.log('HTTP server is listening at port 3000.');
http.creat Serverはhttp.Serverの例を作成し、HTTP要求処理関数として機能を提供します.