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

推薦する

Vueは右上隅の時間表示のリアルタイム更新を実装します

この記事の例では、右上隅の時間表示のリアルタイム更新を実現するためのVueの具体的なコードを紹介しま...

OpenLayers 3 のベクターマップソースの読み込みの問題を解決する

1. ベクターマップベクター グラフィックスは直線と曲線を使用してグラフィックスを表します。これらの...

MySQL 8.0 の新機能: ハッシュ結合

MySQL 開発チームは、2019 年 10 月 14 日に MySQL 8.0.18 GA バージ...

HTML要素によるFlashブロックの詳細な例

コードをコピーコードは次のとおりです。 wmode パラメータ:透過モード: z-indexを使用し...

JavaScript でドラッグ可能なプログレスバーを実装する

この記事では、ドラッグ可能なプログレスバーを実装するためのJavaScriptの具体的なコードを参考...

Linux システムにおける時間設定の概要

1. 時間の種類は次のように分けられます。 1. ネットワーク時間(タイムゾーンの設定、ntpサーバ...

HTMLエンコードによる文字化け問題について

今日、3年生から質問がありました。彼が書いた HTML コードを開くと、文字化けした文字が表示されま...

VMware WorkStation を Docker for Windows で使用するための詳細なチュートリアル

目次1. はじめに2. Windows用Dockerをインストールする1. Windows用Dock...

MYSQLテーブルの包括的な概要

目次1. テーブルを作成する1.1. テーブルを作成するための基本構文1.1.1. シンプルなテーブ...

JavaScriptは4桁のランダム検証コードの生成を実装します

この記事の例では、JavaScriptで4桁のランダムな検証コードを生成する具体的なコードを参考まで...

Ubuntuにopencvをインストールする正しい方法の詳細な説明

この記事ではUbuntuでC++インターフェースを使用してopencvをインストールする方法について...

少なくとも7日間連続して注文を行ったユーザーに対するSQLクエリ

テーブルを作成するテーブル order(id varchar(10),date datetime,o...

Centos7 で crontab + シェル スクリプトによる定期的な自動ファイル削除の問題を解決する

問題の説明:最近、rsyncで毎回同期するデータ量が多いが、データベースのbakファイルを保持する必...

CSS における px、em、rem、%、vw、vh 単位の違いの詳細な説明

1.ピクセルpx はピクセルの略語で、画面解像度に対する相対的な長さの単位です。 2. えむ参照は親...

Linux FTP匿名アップロードとダウンロードが自動的に開始される問題を解決する

勉強や仕事で FTP サーバーを頻繁に使用する場合は、起動時に自動的に起動するように設定できます。設...