flowforgeでテンプレート設定を使用して独自のnode-redインスタンスをカスタマイズする

無料無料技术资料

这篇内容可直接阅读,适合用于基础学习和検索引流。

flowforgeでテンプレート設定を使用して独自のnode-redインスタンスをカスタマイズする

テンプレート設定の追加

FlowForgeでは、すべてのプロジェクトがテンプレートから作成されます。テンプレートは、プロジェクトの設定済みオプションのセットを定義します。これには実行時設定が含まれます。一般的にはNode-RED settings.jsファイルで設定された値です。

テンプレートは、プロジェクトがカスタマイズできるオプションも定義します。

この記事では、テンプレートオブジェクトに新しいNode-REDランタイムオプションを追加して、開発者が個々のインスタンスをカスタマイズし、基礎となるNode-RED settings.jsファイルに渡す方法を説明します。

単純なブール型/文字列型/数値型の場合は、直接定義できます。他の型(オブジェクト/配列)では、それは少し複雑になり、公式には良い例はありません。

一般的な場合は、以下の手順でテンプレートを設定できます。

  • フロントエンドの更新
    • 設定の名前を選択し、既知の設定と必要な検証ロジックのリストに追加します。
    • 適切なテンプレートセクションに追加します
  • ランタイムの更新
    • 既知の設定のリストと追加の検証ロジックに追加します。
  • イニシエータの更新
    • settings.jsを生成するテンプレートを新しいプロパティで更新

フロントエンドの更新

フロントエンドには、テンプレートを表示および編集するための一連のビューがあります。2つの方法で使用されます:

テンプレートを作成/編集するとき。すべてのオプションが使用可能で、ユーザーが設定にポリシーを設定できるドロップダウンリストがあります項目が設定の上書きを許可するかどうかを制御
プロジェクト設定を編集する場合。すべてのオプションが表示されますが、テンプレートポリシーで変更が許可されているオプションのみをユーザーが変更できるようにします。
このビューの再利用は、実装時に複雑さを引き起こす多くのコード重複を節約します。

設定の名前を選択します

名前はNode-RED settings.jsファイル内の対応するプロパティと一致するようにしてください。

frontend/src/pages/admin/Template/utils.jsの編集
新しい属性名を追加templateFieldsそして、defaultTemplateValuesオブジェクトの中でこれらの名前はフラット文字列であり、_は階層として使用され、区切り文字として使用されます。
値が何らかの形式の検証を必要とする場合は、同じファイル内のtemplateValidators中で。

1.2- 適切なテンプレートセクションに追加します。

現在サポートされているカスタム構成は次のとおりです。

編集者。
カラーパレットパレット
環境-他のオプションを追加する可能性が低い特別なケース
これらはすべて独自の文書にあります。 frontendfrontend/src/pages/admin/Template/sections/。

追加する設定チェックボックスまたはテキスト入力が最も一致する既存の設定を選択し、そのエントリを適切な場所にコピーします。

コピーした属性名へのすべての参照が新しい属性名に更新されていることを確認します。

ランタイムの更新

既知のリストに追加する

編集者。forge/db/controllers/ProjectTemplate.js既知の設定のリストに新しいプロパティを追加します。

同じファイル内で、必要な追加の検证またはデータ·クリーニングを使用して更新validateSettings関数です。

NR-Launcherのアップデート

そこには flowforge-nr-launcher プロジェクトの中で

編集者。lib/runtimeSettings.js新しい設定をsettings.jsファイルに含めます。新しい設定が存在しない場合には、合理的なデフォルト値を使用するか、値を省略するかに対処する必要があります。

この資料を実際のプロジェクトに活用しませんか?

ツールセンターで電文解析、CRCチェック、デバイスデバッグを行うか、要件を送信して選定と接続のアドバイスを受けましょう。

エンジニア会員

この記事を実行可能なデバッグ資料に

登録すると、高度な電文解析、資料パックのダウンロード、コード例、エンジニアリングケース、優先技術サポートが利用可能に。実際のプロジェクト納品に最適です。

高度なツール無制限
資料パックとコードパック
完全なエンジニアリングケースライブラリ
優先技術サポート窓口

发表回复

あなたのメールアドレスアドレス不会被公开。 必須項目已用 * 标注