0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

npm から取得した Node-RED をカスタマイズして起動する(1)

Last updated at Posted at 2020-09-20

何のための記事?

Node-REDをHerokuで運用する際に、Heroku環境では一部機能が動作しない場合があった。
その際、Node-REDの実装を調査する必要があったので関連するメモを整理して投稿します。
※本記事はHerokuと直接関係はありません

1. Node-REDを自作プログラムから動かす

  • Node.jsなどは予めインストールしておく。

1.1 導入

$ mkdir node-red-sample
$ cd node-red-sample
$ npm -y init 
$ npm install node-red
$ node ./node_modules/node-red/red.js  --userDir ./data --settings ./node_modules/node-red/settings.js

ブラウザで http://127.0.0.1:1880/ を開く。

1.2. 解説

上記の手順では、下記のオプションを指定しています。

  • --userDir : 追加するノードなどが保存される場所を指定する

  • --settings : 使用する設定ファイルを指定する

    ※デフォルトで red.js と同じフォルダに存在するsettings.jsを参照するので--settings以降は省略可能

2. 設定をカスタマイズする

2.1 カスタマイズ方法(1) : settings.js を指定して起動

settings.js を自分用に書き換えてred.jsの起動パラメータに渡す事で、好みの設定で起動するように変更できます。

package.json と同じフォルダに settings.js をコピーする。

$ cp ./node_modules/node-red/settings.js ./

settings.js を書き換えたら下記のようにコマンドを入力して起動する。

$ node ./node_modules/node-red/red.js --userDir ./data --settings ./settings.js

2.2 カスタマイズ方法(2) : settings.js を userDir に入れておく

$ mkdir data
$ cp ./node_modules/node-red/settings.js ./data/

settings.js を書き換えたら下記のようにコマンドを入力して起動する。

$ node ./node_modules/node-red/red.js --userDir ./data

3. エントリーポイント(?)を変更する

エントリーポイントを ./node_modules/node-red/red.js ではなく、独自のファイルにする方法。

$ cp node_modules/node-red/red.js ./main.js

コピーして作成した main.js を一部修正する。

- var RED = require("./lib/red.js");
+ var RED = require("node-red");

書き換えたら起動する。

$ node main.js --userDir ./data

まとめ

これでローカルでのデバッグできる環境は整いました。

次の記事 → npm から取得した Node-RED をカスタマイズして起動する(2)

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?