Linux で最初の Node.js アプリを作成する方法
Web 開発のトレンドはここ数年で劇的に変化しました。Web 開発者としてトップに立つためには、最新のテクノロジーを常に最新の状態に保つことが重要です。
JavaScript は、現在トレンドのプログラミング言語です。これは間違いなく、フルスタック開発者によって使用される最も人気のあるテクノロジーです。
JavaScript Web フレームワークは、絶対的な効率、安全性、最小限のコストで Web 開発を高速化するための魔法のソリューションになりました。 Node JavaScript (一般に Node.js または単に Node と呼ばれます) について聞いたことがあると思います。それについては話題になっています。インターネット上で。
この記事では、Linux でNode.jsを使用してJavaScriptでアプリケーションの開発を始める方法を説明します。その前に、Node.js について簡単に説明しましょう。
Node.jsとは何ですか?
Node.js は、Chrome の V8 JavaScript エンジン上に構築されたオープン ソースの軽量で効率的な JavaScript ランタイムです。これはスレッドなし (シングルスレッド) で設計されており、Python または Event Machine (Ruby プログラム用のイベント処理ライブラリ) を使用して構築されたネットワーキング エンジンである Twisted と同様の実装を備えています。
Node.js の中心部はイベント駆動型プログラミングに基づいています。したがって、プログラマは、どのようなイベントが利用可能であり、それらにどのように応答するかを理解する必要があります。
Node.js でのパッケージ管理
Node.js は、「npm 」 と呼ばれる JavaScript パッケージ マネージャーとエコシステムを使用します。これには、無料のオープン ソース ライブラリの膨大なコレクションが含まれています。モジュール型ソフトウェア開発をサポートします。これを使用して、ノード パッケージのインストール、コードの共有、配布、パッケージの依存関係の管理を行うことができます。
Node.js が重要な理由
Node.js は強力であり、次の理由から重要です。
- 非同期イベント駆動のノンブロッキング I/O 実行モデルを使用し、アプリケーションのスループットを向上させ、現実世界の Web アプリケーションのスケーラビリティをサポートします。
- シングルスレッドなので、一度に 1 つの CPU しか使用できません。
- node.js Web アプリケーションは、Nginx や Apache などの完全な Web サーバーです。
- 子プロセスを生成するための child_process.fork() API を介したスレッドをサポートし、クラスター モジュールも提供します。
この簡単な紹介を読んだあなたは、初めてのJavaScript プログラムを作成することに熱心になっているはずです。ただし、まず最初に、次のガイドを使用して Linux システムにNode.js および NPM パッケージをインストールする必要があります。
- 最新の Nodejs および NPM バージョンを Linux システムにインストールする
Linux で最初の Node.js アプリを作成する方法
Node.js をインストールしたら、準備完了です。まず、アプリケーション ファイルを保存するディレクトリを作成します。
sudo mkdir -p /var/www/myapp
次に、そのディレクトリに移動し、アプリケーションの package.json
ファイルを作成します。このファイルは、プロジェクトの名前、作成者、依存するパッケージのリストなど、プロジェクトの小さなドキュメントとして役立ちます。
cd /var/www/myapp
npm init
いくつかの質問が表示されます。以下の説明に従って答えて、[Enter] を押してください。 package.json
で最も重要なのは、以下で説明するように、名前フィールドとバージョン フィールドであることに注意してください。
- パッケージ名 – アプリ名。デフォルトはディレクトリ名です。
- バージョン – アプリのバージョン。
- 説明 – アプリの短い説明を書きます。
- エントリ ポイント – 実行されるデフォルトのパッケージ ファイルを設定します。
- テスト コマンド – テスト スクリプトの作成に使用されます (デフォルトは空のスクリプト)。
- git リポジトリ – Git リポジトリを定義します (存在する場合)。
- キーワード – キーワードを設定します。他のユーザーが npm でパッケージを識別するために重要です。
- 著者 – 著者名を指定します。ここに名前を入力します。
- ライセンス – アプリ/パッケージのライセンスを指定します。
次に、server.js
ファイルを作成します。
sudo vi server.js
以下のコードをコピーして貼り付けます。
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!');
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
次に、次のコマンドを使用してアプリケーションを起動します。
node server.js
OR
npm start
次に、Web ブラウザを開いて Web アプリにアクセスします。これは、 文字列 ”Hello world!” を出力すること以外は何も行いません。 」、次のアドレスを使用します。
http://localhost:3333
上記のコードで処理されている主なイベントは、HTTP モジュールを介したHTTPリクエストです。
Nodejs HTTP モジュール
Node.js では、モジュールはJavaScript ライブラリに似ており、アプリ内で再利用できる関数が含まれています。組み込みモジュール、サードパーティ製モジュールを使用することも、独自のモジュールを作成することもできます。
アプリ内のモジュールを呼び出すには、次のように require 関数を使用します。
var http = require('http');
http モジュールを含めると、特定のポート (この例では3333) をリッスンするサーバーが作成されます。 http.creatServer メソッドは、関数 (クライアントがアプリにアクセスしようとしたときに呼び出される) を引数として受け入れる実際の http サーバーを作成します。
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.end('Hello World!');
}).listen(3333);
http.createServer の関数には、req(request) と res(response) という 2 つの引数があります。 req 引数はユーザーまたはクライアントからのリクエストであり、 res 引数はクライアントに応答を送信します。
res.writeHead(200, { 'Content-Type': 'text/plain' }); #This is a response HTTP header
res.end('Hello World!');
コードの最後の部分は、サーバーが起動されると出力をコンソールに送信します。
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
Node.js でのルーティング
このセクションでは、ルーティングとして知られるNode.js プログラミングにおける最も重要な概念の 1 つについて説明します (コンピュータ ネットワークにおけるルーティングに相当: トラフィックのパスを見つけるプロセス)ネットワーク内)。
ここでのルーティングは、クライアントのリクエストを処理する手法です。 URL で指定されているように、クライアントが要求したコンテンツを提供します。 URL はパスとクエリ文字列で構成されます。
クライアントのリクエストのクエリ文字列を表示するには、応答に以下の行を追加します。
res.write(req.url);
res.end()
以下は新しいコードです。
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write(req.url);
res.end();
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate...!');
ファイルを保存し、次のコマンドを使用してアプリケーションを再度起動します。
node server.js
OR
npm start
Web ブラウザから別の URL を入力すると、以下のように表示されます。
http://localhost:3333
http://localhost:3333/about
http://localhost:3333/tecmint/authors
ここで、ホームページ、概要ページ、著者ページを含む、Tecmint の非常に小さな Web サイトを作成します。これらのページにいくつかの情報を表示します。
server.js
ファイルを編集のために開き、そのファイルに以下のコードを追加します。
//include http module
var http = require('http');
http.createServer(function(req,res){
//store URL in variable q_string
var q_string = req.url;
switch(q_string) {
case '/':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Welcome To linux-console.net!')
res.end();
break;
case '/about':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('About Us');
res.write('\n\n');
res.write('linux-console.net - Best Linux HowTos on the Web.');
res.write('\n');
res.end('Find out more: https://linux-console.net/who-we-are/');
break;
case '/tecmint/authors':
res.writeHead(200, { 'Content-Type': 'text/plain' });
res.write('Tecmint Authors');
res.write('\n\n');
res.end('Find all our authors here: https://linux-console.net/who-we-are/');
break;
default:
res.writeHead(404, { 'Content-Type': 'text/plain' });
res.end('Not Found');
break;
}
}).listen(3333);
console.log('Server started on localhost:3333; press Ctrl-C to terminate....');
上記のコードでは、//
文字を使用して Node.js にコメントを記述する方法を説明し、クライアント リクエストをルーティングするための switch ステートメントと case ステートメントも導入しました。
ファイルを保存し、サーバーを起動して、さまざまなページにアクセスしてみてください。
今のところはここまでです!詳細については、Nodejs および NPM の Web サイトを参照してください。
こちらもお読みください: PM2 をインストールして Linux で Node.js アプリを実行する方法
結論
Node.js は現在最高値を更新しており、フルスタック開発が以前よりはるかに簡単になりました。イベント駆動型プログラミングという独自の哲学により、超高速、効率的、スケーラブルな Web プロセスとサーバーを作成できます。
次に、Web/モバイル アプリケーションを迅速かつ確実に開発するためのネイティブ機能を拡張するNode.js フレームワークについて説明します。以下のコメントセクションを通じて、この記事についてのご意見を共有してください。