NODE.JS を使用して WEBSERVER を作成する手順

NODE.JS を使用して WEBSERVER を作成する手順

Node.jsとは

Node.js は 2009 年 5 月にリリースされ、Ryan Dahl によって開発されました。Chrome V8 エンジンをベースにした JavaScript ランタイム環境です。イベント駆動型の非ブロッキング I/O モデルを使用して、JavaScript をサーバー側開発プラットフォームで実行できるようにします。これにより、JavaScript は PHP、Python、Perl、Ruby などのサーバー側言語と同等のスクリプト言語になります。
Node.js は、いくつかの特殊なユースケースを最適化し、ブラウザー以外の環境で V8 をより適切に実行するための代替 API を提供します。V8 エンジンは、Javascript を非常に高速に実行し、非常に優れたパフォーマンスを発揮します。これは、Chrome JavaScript ランタイム上に構築されたプラットフォームであり、応答が速く、簡単にスケーラブルなネットワーク アプリケーションを簡単に構築するために使用されます。

NodeJSをインストールする

Node.js公式サイト

インストールが成功したか確認する

$ノード -v 
v14.16.1

Node を使用して Hello World を作成するにはどうすればよいでしょうか?

1. JavaScriptスクリプトファイルを書く

var foo = 'hello world'
コンソールログ(foo)

2. ファイルを実行する

$ ノードファイル名

注意: ファイル名にノードを使用することはできません。また、中国語の文字は使用しないことをお勧めします。

Node.jsを使用してファイルを読み書きする方法

// 1. require を使用して fs コア使用モジュールをロードします var file = require('fs')

// 2. ファイルを読み取る file.readFile('hello.txt', function(error, data){
    // ファイルはデフォルトでバイナリで保存され、toString が必要です
    if (エラー!= null) {
        console.log('ファイルが存在しないか読み取りに失敗しました')
        戻る
    }
    コンソールログ(data.toString())
})

// 3. ファイルの書き込み // ファイルパス ファイルの内容 コールバック関数 file.writeFile('hello.txt', 'hello world', function(error, data){
    if (エラー!= null) {
        console.log('書き込み失敗')
        戻る
    }
    console.log('書き込み成功')
})

Node.js を使用して Web サーバーを作成する

// 1. require を使用して http コア使用モジュールをロードします var http = require('http')

// 2. http.createServer はサーバーインスタンスを作成します var server = http.createServer()

// 3. リクエストレスポンスを作成する server.on('request', function(request, response){
    console.log('インターフェースを要求しています...')
    レスポンスを書き込みます('Hello World')
    // 終了メソッドは response.end() を終了する必要があります
})

// 4. サーバーを起動するためのポート番号をバインドします server.listen(8090, function(){
    console.log('サーバーはhttp://127.0.0.1:8090/で実行されています')
})

異なるリクエストパスに基づいて異なるデータを返す方法

var http = require('http')

var server = http.createServer();

server.on('リクエスト', 関数(リクエスト, レスポンス){
    // リクエストパスを取得する var url = request.url
    
    // リクエストパスに基づいて異なる情報を返します if (url == '/') {
        response.end('インデックスページ')
    } それ以外の場合 (url == '/login') {
        response.end('ログインページ')
    } それ以外 {
        response.end('404 ページ')
    }
  
})

server.listen('8081', 関数(){
    console.log('サーバーはhttp://127.0.0.1:8081/で実行されています');
})

フロントエンドにデータを応答する

応答(戻り)コンテンツはバイナリデータまたは文字列のみになります

[
    {
        "名前": "iPhone 12",
        「価格」: 6799
    },
    {
        "名前": "MacBook Air M1",
        「価格」: 7999
    }
]

データをページに返したい場合は、JSONデータを文字列に組み立てることしかできません。

(url == '/products')の場合{
    var 製品 = [
        {
            名前:「iPhone 12」、
            価格: 6799
        },
        {
            名前:「MacBook Air M1」、
            価格: 7999
        }
    ]
    レスポンスの終了(JSON.stringify(製品))
}

上記は、NODE.JS を使用して WEBSERVER を作成する手順の詳細です。Node.js を使用した WEBSERVER の作成の詳細については、123WORDPRESS.COM の他の関連記事に注目してください。

以下もご興味があるかもしれません:
  • node.js プラットフォームでの Express セッションおよび Cookie モジュール パッケージの構成の詳細な説明
  • angular2+node.js の高速パッケージングとデプロイメントの実践的な応用
  • CentOS 8.2 サーバーに最新バージョンの Node.js をインストールする方法
  • HTTP サーバーとクライアントのやり取りをシミュレートする Node.js+postman
  • ローカル Vue プロジェクトをローカル Node.js サーバーにリクエストするように構成する方法の詳細な説明
  • Node.jsでサーバーを実装する3つの手順とExpressパッケージの使用

<<:  列名を知らなくてもMySQLインジェクションを詳細に解説

>>:  Ubuntu 18.04 コマンドでタッチパッドを無効/有効にする

推薦する

HTML要素にフォーカスを設定する方法

コードをコピーコードは次のとおりです。 <本文<フォームアクション="&quo...

Linuxのファイル操作の知識ポイントを詳しく解説

ファイル操作に関連するシステムコール作成するint creat(const char *ファイル名,...

GNU Parallelの具体的な使用法

それは何ですか? GNU Parallel は、1 台以上のコンピュータでコンピューティング タスク...

MySQL 5.6 から 5.7 にアップグレードする際のマスター スレーブ遅延問題のトラブルシューティング

最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...

Zabbix Agent2を使用してOracleデータベースを監視する方法

概要zabbix バージョン 5.0 以降では、zabbix-agent2 という新しい機能が追加さ...

Windows 10 Home EditionにDockerをインストールする方法を教えます

Redisの本やSpring Cloud Alibabaの本を執筆した際に、一部の分散コンポーネント...

HTML フローティング フレーム (iframe 読み込み HTML) の設定と使用の例

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

Vueを使用して天気コンポーネントをロードする方法の詳細な説明

この記事では、Vueを使用して天気コンポーネントをロードする方法を参考までに紹介します。具体的な内容...

MySQL でサーバーのインストールを開始できない場合の解決策について簡単に説明します。

コンピュータに初めて MySQL をインストールする場合、通常このエラー メッセージは表示されません...

docker を使用して influxdb と mongo をデプロイするための一般的なコマンド

Docker ベースのデータベースをデプロイするsudo docker pull influxdb ...

SQLと各種NoSQLデータベースの使用シナリオの説明

SQL はメイントランクです。なぜ私はこのように理解するのでしょうか。技術的な観点からリレーショナル...

MySQL 8.0.20 winx64 のインストールと設定方法のグラフィックチュートリアル

この記事では、MySQL 8.0.20 winx64 のインストールと設定方法を次のように説明します...

MySQLログシステムの詳細情報共有

大規模なシステムに取り組んだことがある人なら誰でも、ログの役割を過小評価してはならないことを知ってい...

MySQLデータベースに中国語の文字を保存するときに発生するエラーを解決する方法を教えます

目次1. 遭遇した問題2. 問題を分析する3. 本当の問題4. 解決策5. ソリューション効果1. ...

CSS3 テキストアニメーション効果

効果 html <div class="sp-container">...