パッケージング

ノードはモジュールとしてパッケージ化し、npmレポジトリに公開することができます。 これにより、インストールするのに必要な依存関係と共にインストールが容易になります。

ディレクトリ構造

以下に、ノードパッケージの典型的なディレクトリ構造を示します:

- package.json
- sample
   |-sample.html
   |-sample.js
   \-icons
      \-sample.png
- README.md
- LICENSE

パッケージ内で使用されるディレクトリ構造に厳密な要件はありません。 パッケージに複数のノードが含まれている場合、 それらはすべて同じディレクトリに存在することができますが、 それぞれが独自のサブディレクトリに配置することもできます。

ノードモジュールをローカルでテストする

ノードモジュールをローカルでテストするには、nmp linkコマンドを使うことができます。 これにより、ローカルディレクトリにノードを作成し、ローカルのNode-REDインストールにリンクさせることができます。 あたかもnpmがインストールされているかのように。 as if it had been npm installed.

1.ノードのpackage.jsonファイルを含むディレクトリで、以下を実行します: sudo npm link.

  1. あなたの node-red ユーザディレクトリでは、通常は~/.node-redが実行されます: npm link <name of node module>.

これにより、2つのディレクトリ間に適切なシンボリックリンクが作成され、Node-REDは起動時にノードを検出します。 Node-REDを再起動するだけで、ノードのファイルに対する変更を取得することができます。

package.json

通常の入力と並んで、package.jsonファイルには、モジュールが提供するノードを認識するnode-redエントリが含まれていなければナリません。 それらの.jsファイルへのポインタとともに表示されます。

いずれかのノードが他のnpmモジュールと依存している場合、 それらはdependenciesプロパティに含まれていなければなりません。

npmレポジトリ内でノードを発見可能にするために、 ファイルはkeywordsプロパティにnode-redを含める必要があります。 これにより、キーワードで検索する際にパッケージが確実に表示されます。

Note: ノードが安定し正しく動作するまで `node-red`キーワードを追加しないでください。 他の人がそれを使用出来るように十分に文書化されています。
{
    "name"         : "node-red-contrib-samplenode",
    "version"      : "0.0.1",
    "description"  : "A sample node for node-red",
    "dependencies": {
    },
    "keywords": [ "node-red" ],
    "node-red"     : {
        "nodes": {
            "sample": "sample/sample.js"
        }
    }
}

ネーミング

ノードモジュールは、Node-REDプロジェクトによって維持されていないことを明確にするために、node-red-contrib-を名前のプレフィックスとして使用する必要があります。 あるいは、node-redをプレフィックスとして使用しない任意の名前を使用することができます。

README.md

README.mdファイルには、ノードの機能・それを機能させるために必要な前提条件を列挙します。 ノードのhtmlファイルの、infoタブ部分に含まれていない追加の指示や、それを使用している小さなサンプルフローを含めると便利かもしれません。

ファイルは次のようにマークアップする必要があります。 GitHub flavoured markdown.

ライセンス

他の人が自分のコードで出来ることと出来ない事を知るように、ライセンスファイルを含めてください。

npmに公開する

npmレポジトリにパッケージを公開するガイドがたくさんあります。 ここに基本的な概要があります。

あなたのノードをプロジェクトのメーリングリスト(英)に公開してください