【Node.js入門】簡単なバッチ処理のプロジェクトを作成してみた

こんにちは。しゃっくです。

今回はNode.jsの勉強をかねて簡単なバッチ処理の作成をしてみました。

Node.jsのインストールから始まり、requestモジュールでhttpリクエストを投げるところまでやってみました。

開発環境

  • Windows 10 Home

Node.jsダウンロード

Node.jsのHPからインストーラーをダウンロード

Node.js インストール

ダウンロードしたインストーラーを実行

僕は全部デフォルトのままインストールしました

Tools for Native Modules に関しては迷いましたが、不要なモジュールは入れたくないのでチェックなしでインストールしました

コマンドを実行し、インストール確認

C:\Users\shakku>node -v
v14.17.4

プロジェクト作成

package.json作成

コマンドプロンプトを起動

プロジェクトフォルダ作成

C:\Users\shakku>mkdir testBatch

フォルダ移動

C:\Users\shakku>cd testBatch

package.json作成

C:\Users\shakku\testBatch>npm init -y

実行結果

C:\Users\shakku\testBatch>npm init -y
Wrote to C:\Users\shakku\testBatch\package.json:

{
  "name": "testBatch",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC"
}

パッケージをインストール

使用するパッケージ

  • request  ・・・ httpリクエストするためのモジュール

インストール

コマンド実行

C:\Users\shakku\testBatch>npm install request --save

実行結果

C:\Users\shakku\testBatch>npm install request --save
npm WARN deprecated request@2.88.2: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated har-validator@5.1.5: this library is no longer supported
npm WARN deprecated uuid@3.4.0: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm WARN testBatch@1.0.0 No description
npm WARN testBatch@1.0.0 No repository field.

+ request@2.88.2
added 47 packages from 58 contributors and audited 47 packages in 4.469s

2 packages are looking for funding
  run `npm fund` for details

found 0 vulnerabilities

requestは非推奨とのことですが、今回は動けばいいので、このまま進みます。

きちんとしたプロジェクトを作成する場合は、他のモジュールの検討が必要そうです。(AxiosとかSuperAgentとかnode-fetchとかってものがあるようです)

これによりtestBatchフォルダにpackage-lock.jsonとnode_modulesが作成されました。

index.js作成

プロジェクトのプライマリエントリポイントとなるindex.jsを作成します。

testBatchの直下にindex.jsを作成し、以下のコードを貼り付けます。

const request = require('request');

const param1 = {
    url: 'https://www.google.com/',
    method: 'GET'
}

console.log('開始');
request(param1, function(err, res, body){
    if (err) {
        console.log(err);
    } else {
        console.log(res.statusCode);
    }
});
console.log('完了');

実行

コマンド実行

C:\Users\shakku\testBatch>node index.js

結果

C:\Users\shakku\testBatch>node index.js
開始
完了
200

非同期となっているので、「完了」の後にstatusCodeが出力されています。

残課題

  • requestが非推奨なため、他のhttpリクエストできるモジュールを検討する必要がある
  • request処理を待機できるようにしたい(async/awaitしたい)

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です