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

推薦する

ラムダ式の原則と例

ラムダ式ラムダ式 (クロージャとも呼ばれる) は、Java 8 のリリースを推進した最も重要な新機能...

Vueのトランジションとアニメーションの深い理解

1. DOM要素を挿入、更新、または削除するときに、適切な場合は要素にスタイルクラス名を追加します。...

水平スクロールバーを実装する2つの方法の例

序文:プロジェクトの開発中に、1 行にナビゲーション バーが多すぎる場合に水平スクロール バーを実装...

LinuxのCentos7でmysql5.7.29を構築する詳細なプロセス

1. MySQLをダウンロードする1.1 ダウンロードアドレスhttps://downloads.m...

html-webpack-plugin' を使用してメモリ内に HTML ページ プラグインを生成します。

webpackjs ファイルをパッケージ化するときに、次に示すように、index.html インタ...

JavaScript で 9 グリッドのモバイル パズル ゲームを実装

この記事では、Jiugonggeモバイルパズルゲームを実装するためのJavaScriptの具体的なコ...

Linux のバックグラウンドで実行するいくつかの方法 (まとめ)

1. ノーフープハングアップ信号を無視してプログラムを実行する追加メモnohup コマンドは、ハン...

Vueはプルダウンを実装してさらに読み込む

Element-UI に慣れた開発者なら、無限スクロールの InfiniteScroll が使いにく...

Redission-tomcatは、単一マシンから複数マシンへの展開を迅速に実装します。

序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...

Vue elementUI フォームのネストされたテーブルと各行の検証の詳細な説明

目次エフェクト表示コードリンクキーコード表形式データコンポーネントのネスト検証方法リセット方法完全な...

forループ内のvarの問題の解決

序文var は ES5 における変数宣言方法です。var で変数を宣言するとループ変数がグローバル変...

Springboot+Vue-Cropperでアバターの切り取りとアップロードの効果を実現

アバターをアップロードするにはVue-Cropperコンポーネントを使用します。参考までに具体的な内...

JavaScript マウスイベントのケーススタディ

マウスイベントマウスが特定の操作を実行すると、イベント オブジェクトが生成され、イベントがトリガーさ...

HTML で複数のクラス属性を定義する場合の無効な解決策

HTML を記述する過程で、クラス属性に複数の値を定義することがよくありますが、定義した値が無効であ...