Node-REDをアプリケーションに組み込む その2(フォルダごとにインストール)
はじめに
今回はNode-REDの環境をフォルダに切り分けてインストールできないか試してみました。
以前の記事ではElectronと組み合わせて試していたのですが、要はExpressで起動しているだけだったので、フォルダ毎に分けられそうでした。色々開発しているとフローの規模が大きくなっていくので、プロジェクト毎にフォルダとしてNode-REDをインストールできるようにしたいなと思っています。
▼Electronと組み合わせていたときの記事はこちら。今もデスクトップアプリのようにして改良しながら使っています。
▼以前の記事はこちら
GitHubのリポジトリを作成する
ドキュメント通りにNode-REDをnpmでグローバルインストールした場合は、どこからでも起動できる代わりに、パッケージも決まった場所に追加されていきます。私の場合、他の環境を壊さずに開発したノードの動作確認をしたかったので、グローバルインストールはせずにローカルインストールしています。この手順を簡略化します。
Node.jsがインストールされたPCで、フォルダ毎に新しいNode-REDをインストールして使えるようにします。Node-REDを起動するのに必要な最小限のファイルをGitHubのリポジトリにアップロードし、クローンすれば使えるような構成です。
▼実際に作成したGitHubのリポジトリはこちら
https://github.com/404background/Hive-RED
▼READMEには以下のイメージ図を上げています。

リポジトリをクローン後、Node-REDを起動するのに必要なパッケージをインストールして起動します。複数のNode-REDを起動しているとポートが重複することもあるので、変更できるようにします。
Node-REDを起動する
実際にリポジトリをクローンして必要なパッケージをインストールし、起動してみました。
git clone https://github.com/404background/Hive-RED
cd Hive-RED
npm install
npm start▼問題なく起動できました。

この状態で、http://localhost:8000/redにアクセスすると、Node-REDのエディタ画面にアクセスできます。
▼アクセスできました!

npm startの引数でポート番号を変更することもできました。
▼9000ポートで起動し、アクセスすることができました。

また、開発用にNode-REDの環境をリセットする機能も用意しています。以下のコマンドを実行するとリセットされます。
npm run resetノードやプラグインを開発していると、環境が壊れて起動できなくなることがあります。そういったときにリセットしています。
最後に
作成したリポジトリを利用して、最近はNode-REDのプロジェクトを使い分けて開発を進めています。また改良しながら使っていこうと思っています。
▼私の場合、Node-REDとUnrea Engine 5 (UE5)を組み合わせて使っているのですが、Node-REDをUE5に組み込むことはできないので、Node.jsで別に起動していたりします。

