Process モジュールはどのようにして端末の入力データを取得しますか?

クライアントとサーバー間の双方向通信はコードを通じて実現されます。クライアント端末で情報を入力してサーバーに送信するなど、端末に直接情報を入力することができないため、そのような機能は Process モジュールに依存する必要があります。完了します。各端末にとって、これは標準入力と標準出力の間の単なるインターフェイスであり、Process モジュールは端末入力データを取得するメソッドを提供します。これについては後で詳しく説明します。

ProcessモジュールはNodejsアプリケーションからrequire0を使わずにアクセスできるグローバルオブジェクトであり、Node.jsではプロセス内の入力データ、つまりターミナルの入力データを以下のメソッドで取得できます。

process.stdin.on('data',function (data) {
    
    
  console.log(data.toString().trim());
});

上記コードでは、process.stdinオブジェクトのdataイベントをリッスンすることで、dataイベントのコールバック関数から端末から入力されたデータを取得していますが、メッセージ入力後に[Enter]キーを押す必要があるため、システムはこのアクションをスペースとして認識するため、trim0 を使用してこのスペースを削除します。

以下では、端末での入力を示すためにケースを使用しています。Chapter06ディレクトリにdemo6-6.jsを作成し、そのファイルに以下のコードを追加します。

/**
 *测试获取终端输入
 */
// 通过下面的方式就可以获取用户的输入
process.stdin.on('data',function (data){
    
    
  console.log(data.toString().trim());
});

ターミナルを開いて、demo6-6.is を実行すると、結果が図に示されます。
1671615926485_demo6.jpg

demo6-6jsの実行結果

図の2行目に点滅カーソルが表示されますので、この時点で端末に内容を入力することができます。たとえば、以下のように「123456」と入力して[Enter]キーを押します。

1671615919910_コマンド プロンプト、.jpg

端子入力を取得する図

上図において、最初の「123456」はキーボードから入力されており、2番目の「123456」は[Enter]キーを押した後の入力情報であり、端末に出力されています。

おすすめ

転載: blog.csdn.net/cz_00001/article/details/131312574
おすすめ