ホームページ > ウェブフロントエンド > jsチュートリアル > Nodejs は Web サーバー hello world を作成します。program_javascript スキル

Nodejs は Web サーバー hello world を作成します。program_javascript スキル

WBOY
リリース: 2016-05-16 15:43:54
オリジナル
1091 人が閲覧しました

Node.js の主な用途はサーバー プログラミングです。

Node.js を設計する主な目的の 1 つは、拡張性の高いサーバー環境を提供することです。これが、この章の冒頭で紹介した Node エンジンと V8 エンジンの違いです。 V8 エンジンを使用して JavaScript を解析することに加えて、Node はサーバー効率を向上させるために高度に最適化されたアプリケーション ライブラリも提供します。たとえば、HTTP モジュールは、高速でノンブロッキングの HTTP サーバー専用に C で書き直されました。 HTTP サーバーを使用したノードの古典的な「Hello World」の例を見てみましょう

コードをコピーします コードは次のとおりです:

var http=require('http');//コア HTTP モジュールの紹介

/*サーバーの作成*/

var server=http.createServer(function(req,res){
  res.writeHead(200,{"Content-type":'text/html'});
  res.end('hello world');
});
ログイン後にコピー

/*IP とポートの監視*/

server.listen(8124,'127.0.0.1',function(){
  console.log('服务器创建成成功:127.0.0.1:8124');
});
ログイン後にコピー

実行コードは次のとおりです

ZXD@ZXD-PC /K/work/learn/nodejs/cvs01
$ node app
ログイン後にコピー

サーバーが正常に作成されました: 127.0.0.1:8124

このサンプル コードは、まず require メソッドを通じて HTTP ライブラリをプログラムに組み込みます。多くの言語には他のライブラリを組み込むというこのアプローチがあり、Node は CommonJS モジュール スタイルを使用します。

ここで理解する必要があるのは、HTTP ライブラリの関数が http オブジェクトに割り当てられているということです。

次に、HTTP サーバーが必要です。 PHP などの他の言語は Apache などのサーバーで実行する必要がありますが、Node はそれらとは異なり、Node 自体が Web サーバーです。

しかし、これは最初にサーバーを作成する必要があることも意味します。コードの次の行は、HTTP モジュールのファクトリ パターン メソッドを呼び出します
(createServer) 新しい HTTP サーバーを作成します。新しく作成された HTTP サーバーは変数に割り当てられず、グローバル スコープ内に存在する匿名オブジェクトのみになります。

チェーン呼び出しを通じてサーバーを初期化し、ポート 8124 でリッスンするように指示できます。 createServer を呼び出すときは、匿名関数をパラメータとして渡します。この関数は、リクエスト イベント処理のために新しく作成されたサーバーのイベント リスナーにバインドされます。メッセージ イベントは JavaScript と Node.js の中心です。この例では、新しいアクセス要求が Web サーバーに到着するたびに、それを処理するために指定した関数メソッドが呼び出されます。このタイプのメソッドをコールバックと呼びます。イベントが発生するたびに、このイベントをリッスンするすべての関数をコールバックするためです。

例 2:

他の都市に旅行していてコンピューターが手元にないため、dom フレームワークを予定通りにリリースできません。そのため、この機会に新しいことを学んでください。この期間における最も緊急の必要性は、フレームワークをセットアップするための超軽量バックエンドを見つけることでした。そのため、私は伝説的なサーバーサイド Javascrpt に手を出しました。最も有名なバックエンド JS は間違いなく Ryan Dahl による Node.js で、もう 1 つは aptana IDE プロバイダーによって作成された jaxer です。

まず、node.js をダウンロードし、E ドライブに解凍し、名前を「node」に変更します。次に、スタート メニューに「cmd」と入力し、cd コマンドを使用して、nodejs 解凍ディレクトリに切り替えます。

最初の例: hello world。

ノード ディレクトリに hello.js ファイルを作成し、次のように入力します:

var sys = require("sys"); 
sys.puts("Hello world"); 
ログイン後にコピー

次に、ネーミング プラットフォームにコマンド ノード hello.js を入力すると、ネーミング プラットフォームの出力 Hello world が表示されます。

2 番目の例: hello world2。

さて、今回はブラウザから hello world を出力してみます。ノード ディレクトリに http.js を作成し、次のように入力します:

var sys = require("sys"), 
  http = require("http"); 
http.createServer(function(request, response) { 
  response.sendHeader(200, {"Content-Type": "text/html"}); 
  response.write("Hello World!"); 
  response.close(); 
}).listen(8080); 
sys.puts("Server running at http://localhost:8080/"); 
ログイン後にコピー

次に、ネーミング プラットフォームにコマンド ノード http.js を入力し、ブラウザに http://localhost:8080/

を入力します。

3 番目の例: hello world2。

node.js は、異なるエンコーディングの文字列を変換するための Buffer クラスを提供します。

現在、「ascii」、「utf8」、「binary」の 3 つのタイプをサポートしています。詳細はこちらをご覧ください

var Buffer = require('buffer').Buffer, 
buf = new Buffer(256), 
len = buf.write('\u00bd + \u00bc = \u00be', 0); 
console.log(len + " bytes: " + buf.toString('utf8', 0, len)); 
ログイン後にコピー

4 番目の例: hello world3

//synopsis.js 
//synopsis 摘要, 梗概,大纲 
var http = require('http'); 
  
http.createServer(function (request, response) { 
 response.writeHead(200, {'Content-Type': 'text/plain'}); 
 response.end('Hello World\n'); 
}).listen(8124); 
  
console.log('Server running at http://127.0.0.1:8124/'); 
ログイン後にコピー

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート