Learning NodeJs(1)

2087 ワード

「紹介」NodeJsはJavaScriptをサービスの開発プラットフォームで動作させます.その最大の特徴は非同期I/Oとイベント駆動です.簡単に言えば、NodeJsはJavaScriptがサーバーの端にある実現で、その中にhttpのサーバーを持っていますので、その地位はApple+PHPに相当します.イベントドライバとしては、一般的には、calbackのメカニズムは、事前にイベントごとにいくつかのlistenerを登録し、イベントがトリガされたときに自動的にlistenerを実行します.非同期I/Oは、イベント駆動の上に構築され、I/Oごとの操作が完了するまで待つのではなく、イベントlistenerを追加した後に次のような文を実行します.I/Oイベントが完了すると、その対応するlistenerが実行されます.
「インストール」NodeJsのインストールは簡単です.ここで省略します.(linux上のpackageの名前は一般的にnodejsです.)しかし、NodeJsにはnpmというパッケージマネージャがあります.(あるいはプラグインマネージャがいいですか?)、様々なNodeJsの拡張機能をインストールするために使えます.npmは一般的にNodeJsをインストールする時に自動的にインストールされます.
「コマンド使用」はNodeJsをインストールした後、NodeJsプログラム(つまりjsファイル)を実行するためにnodeコマンドを使用します.大体の使い方はpythonと似ています.パラメータを持たない時はREPLモードに入ります.または、ファイル中のJavaScriptを実行するためにxx.jsファイルを追加することができます.または'-e'などのパラメータを使ってJavaScript文を直接実行することができます.
「httpサーバを使用する」
//http.js
var http = require('http');
http.createServer(function(req, res) {
    res.writeHead(200, {'Content-Type': 'text/html'});
    res.write('<h1>Hello World</h1>');
    res.end('<h2>end of html</h2>');
}).listen(3000);
console.log("HTTP Server is listening to port 3000");
は、上のファイルをnodeコマンドで実行してからアクセスします.http://127.0.0.1:3000をクリックします.
コードを分析します.require('http')はhttpパッケージを引用してhttp変数に値を与えます.そして、http.creat Serverを呼び出してサーバーを作成します.サーバにはcalback関数があります.関数のreqは、requestとreponseをそれぞれ表します.writeHeadはレスポンスメッセージを書き込み、writeはレスポンスに情報を書き込み、endもメッセージを書き込みますが、書き終わったらレスポンス全体を送ります.listen(3000)は3000ポートで傍受を開始することを示しています.この時に通過しますhttp://127.0.0.1:3000アクセスするとhttp serverによって盗聴され、その中のcalback関数が実行されます.
NodeJsは最下階のhttp serverを提供していますが、直接使うのは大変です.幸いなことに、NodeJsの大量開拓の中でいくつかのより高いレベルのhttp serverを実現しました.例えば、express.
「express」expressフレームは、現在最も安定しており、最も広く使われているWeb開発フレームです.httpの高層インターフェースを提供し、他のいくつかの機能を実現しました.
「expressインストール」$npm install-g express
「express作成プロジェクト」$express-e projectname
expressは自動的に多くのファイルを作成し、フォルダへのダウンロード依頼を提示します.(上-eは標準のJadeではなくejsをテンプレートエンジンとして使うという意味です.)
「express起動」は$node ap.jsを使ってhttpサーバを起動します.(to be continued…