kglabo.blog

I will output what I thought.

Node.jsの基本的な所に関する雑なメモ

None.jsとは

  • JavaScriptでプログラミングする事ができるサーバサイド向けのプラットフォーム。
  • JavaScriptとNode.jsを利用すれば、一通りのWebアプリケーションを作成する事ができる。
# cvsを読み込みして処理をする簡単な例

'use strict';
const fs = require('fs');
const readline = require('readline');
const rs = fs.ReadStream('./hoge.csv');
const rl = readline.createInterface({ 'input': rs, 'output': {} });

rl.on('line', (lineString) => {
    console.log(lineString);
});

モジュールについて

Node.jsには標準で用意されているモジュール存在しており、 それらを活用する事で、一から処理を自分で記載しなくても済む。

いくつか例をあげる。

fsモジュール

FileSystemモジュール。
ファイルを扱うためのモジュールで、require('fs');で利用する事ができる。 FileSystemモジュールがどのようなイベントをもっているのかは、
Node.jsのAPIドキュメントから確認する事ができる。

readlineモジュール

ファイルを一行ずつ読み込むためのモジュールで、 require('readline');で利用する事ができる。 readlineモジュールがどのようなイベントをもっているのかは、
Node.jsのAPIドキュメントから確認する事ができる。

上記のサンプルコードでは hoge.csv からファイルを読み込みを行う Stream を生成し、 さらにそれを readlineオブジェクトinputとして設定して、rl オブジェクト を作成しています。

Streamとは

Node.jsでは、I/Oの処理を基本的に Stream という形で行う。 これは、非同期で情報を取り扱うための概念であり、情報自体ではなく情報の流れに注目する。

Node.jsでStreamを取り扱う際は、Streamに対してイベント監視を行い、
イベントが発生した際に呼び出す関数を実行するイベント駆動型のプログラミングを行う。

その他のモジュール

上記のモジュール説明のリンクは、Node.js v8.9.4のAPIリファレンスへのリンクとなっているが、
自分の調べたいバージョンのAPIリファレンスを確認すること。

現在LTSバージョンのv10.15.3のドキュメントはこちら