ノードはモジュールとしてパッケージ化し、npmリポジトリに公開することができます。 これにより、インストールするのに必要な依存関係と共にインストールが容易になります。
We updated our naming requirements on 31st January 2022. The following applies to modules first published after that date.
Packages should use a scoped name - such as @myScope/node-red-sample
. That can be under a user scope or an organisation scope.
Nodes published under a scoped name have no further requirements on their name.
They could use @myScope/node-red-sample
or just @myScope/sample
- although
having node-red
in the name does help to associate the module with the project.
If you are forking an existing package to provide a fix, you can keep the same name but released under your own scope. But please keep in mind, forking should always be a last resort if the original maintainer is not responsive to your contributions.
以下に、ノードパッケージの典型的なディレクトリ構造を示します:
├── LICENSE
├── README.md
├── package.json
└── sample
├── examples
│ ├── example-1.json
│ └── example-2.json
├── icons
│ └── my-icon.svg
├── sample.html
└── sample.js
パッケージ内で使用されるディレクトリ構造に厳密な要件はありません。 パッケージに複数のノードが含まれている場合、 それらすべてが同じディレクトリに存在させることもできますが、 それぞれを独自のサブディレクトリに配置することもできます。
ノードモジュールをローカルでテストするには、npm install <folder>
コマンドを使うことができます。
これにより開発中において、ローカルディレクトリでノードを開発し、ローカルのNode-REDインストールにリンクさせることができます。
あなたのnode-redユーザディレクトリで、通常のように次のコマンドを実行します。
npm install <ノードモジュールへのパス>
これにより、ディレクトリへ適切なシンボリックリンクが作成され、 Node-REDは起動時にノードを検出します。 Node-REDを再起動するだけで、ノードのファイルに対する変更を取得できます。
package.json
ファイルには通常のエントリと同様、
ランタイムにロードするノードを含む.js
ファイルをリストアップしたnode-red
エントリが含まれていなければなりません。
1つのファイルに複数のノードがある場合、ファイルを1回だけリストアップしなければなりません。
ノードが他のnpmモジュールの依存関係を持つ場合、
それらはdependencies
プロパティに含まれていなければなりません。
npmリポジトリ内でノードを発見できるようにするため、
keywords
プロパティにnode-red
を含める必要があります。
これにより、キーワードで検索する際にパッケージが確実に表示されます。
You should specify what versions of Node-RED your nodes support with a version
entry. For example, the following means the node requires Node-RED 2.0 or later.
README.mdファイルには、 ノードの機能およびそれを機能させるために必要な前提条件を列挙します。 ノードのhtmlファイルの情報タブ部分に含まれていない追加の指示や、 そのノードを使用している小さなサンプルフローを含めると 有意義かもしれません。
ファイルは、 GitHub flavoured markdownを利用してマークアップすべきです。
他の人が自分のコードで出来ることと出来ないことを知ることができるように、 ライセンスファイルを含めてください。
npmリポジトリにパッケージを公開するためのガイドが数多くあります。 こちらに基本的な概要があります。
2020年4月時点で、Node-REDフローライブラリは
node-red
というキーワード付きでnpmに公開されたノードを
自動的にインデックス化・更新することはもうできません。
代わりに、手動で送信リクエストを設定する必要があります。
このためには、パッケージング要件のすべてを満たしていることを確認してください。
新しいノードをライブラリに追加するためには、
ライブラリページの上部の+
ボタンをクリックし、
「node」オプションを選択してください。
このボタンによってノード追加のページへ移動します。
ここでは要件のリストが再度表示され、
ノードをライブラリに追加するステップが記述されています。
既存のノードを更新するには、 新規ノードを追加したときと同様に再度送信することも可能ですし、 フローライブラリ上のノードのページの「request refresh」リンクから更新することも可能です。 このリンクはログインしているユーザのみ表示されます。
表示されない場合、 Node-REDフォーラムまたはslackで 助けを求めることができます。
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy