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 コマンドでタッチパッドを無効/有効にする

推薦する

CSS ボックスを中央揃えするためのよく使われるいくつかの方法 (要約)

最初のもの: CSSの位置プロパティの使用 <スタイル タイプ="text/css&...

Alibaba Cloud Serverにプログラムをデプロイし、ドメイン名を使用して直接アクセスする方法の詳細な説明

何もすることがなかったので、学習用に最も安いAlibaba Cloudサーバーを購入しました。年間3...

VPSサーバーでよく使われるパフォーマンステストスクリプトの概要

これは、VPS サーバー用の一般的なワンクリック パフォーマンス テスト スクリプトです。マシンの構...

Linux CentOS 6.5 のアンインストール、tar、および MySQL のインストールチュートリアル

システム提供のMySQLをアンインストールする1. MySQLがシステムにインストールされているかど...

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

この記事ではMySQL 5.7.20のインストールと設定方法を記録し、皆さんと共有します1. MyS...

Dockerがコンテナを起動するたびに、IPとホストが指定した操作が実行されます。

序文Dockerを使ってHadoopクラスタを起動するたびに、ネットワークカードの再バインド、IPの...

MySQLでインデックスエラーが発生する状況について簡単に説明します

以下に、トレーニング機関からのヒントと私自身の要約をいくつか示します。以下のインデックスの内容を説明...

MySQL パラメータ関連の概念とクエリ変更方法

序文:以前の記事では、特定のパラメータの機能についてよく紹介してきました。しかし、MySQL パラメ...

mysql-joinsの具体的な使用方法

目次結合構文: 1. InnerJOIN: (内部結合) 2. LeftJOIN: (左結合) 3....

MySQL5.7+ MySQL Workbenchのインストールと設定方法のグラフィックチュートリアル(MAC)

この記事では、主にMACオペレーティングシステムでのMySQL5.7とMySQLWorkbenchの...

MySQL 5.7 でブロックポジショニング DDL の問題を解決する

前回の記事「MySQL テーブル構造の変更、メタデータ ロックを知っておく必要があります」では、MD...

MySQL 外部キー制約の一般的な操作の例 [表示、追加、変更、削除]

この記事では、例を使用して、MySQL 外部キー制約の一般的な操作について説明します。ご参考までに、...

アダプティブ Web デザインの手法 (モバイル フォンでの優れたアクセス エクスペリエンス)

1. HTML ヘッダーにビューポート タグを追加します。ウェブサイトの HTML ファイルの先頭...

Vueを使用して手書き署名機能を実装する

個人的な実装のスクリーンショット:インストール: npm インストール vue-esign --sa...