2

私はブラウザーで noflo を実行しようとしていますが、Angular アプリになるというひねりを加えています。Noflo のドキュメントには、次のように記載されています。

NoFlo プロジェクトは Web ブラウザーでも実行できます。webpack ツールを使用して、ブラウザで実行可能な NoFlo プロジェクトのビルドを作成できます。

簡単に言うと、NoFlo プロジェクトのブラウザー ビルドを作成するには、次の手順が必要です。

fbp-manifest ツールを使用して、インストールされているすべてのブラウザー互換コンポーネントを見つける

すべてのコンポーネント ファイルを必要とするカスタム NoFlo コンポーネント ローダーを生成し、それらを NoFlo がロードできるように登録します。

アプリケーション エントリ ポイントで webpack を構成して実行し、NoFlo の標準コンポーネント ローダーを生成されたカスタム ローダーに置き換えます。

これらのステップを自動化するために、ビルドの自動化に使用する Grunt タスク ランナーのプラグインである grunt-noflo-browser があります。

このタスクを実行するための最短かつ最も痛みの少ないパスについては疑問があります。

オプション1:

Angular CLI を使用しています。Webpack は angular cli と統合されており、「ng イジェクト」コマンドを使用して Webpack ベースの構成に移動できます。その後、Grunt タスク ランナーを使用してセットアップできます。私はこれまで Grunt を使用したことがありません。どのようにうまくいくかわかりません。その後、さらに開発を進めて webpack 構成を管理する必要があるもう 1 つの頭痛の種です。

オプション 2:

上記と同じですが、すべて手動で行います。Grunt パスに行くという頭痛の種を取り除きます。fbp-manifest ツールの使用方法とカスタム NoFlo コンポーネント ローダーの生成方法について、新たな疑問と複雑さを生み出します。また、webpack 構成を維持することは、開発にさらに進む追加のタスクです。

オプション 3:

Angular CLI に固有の他のパスが存在する場合

Noflo を統合し、自分のアプリケーション用に大幅にカスタマイズします。私のノードは新しくなり、実行中のサーバーはなく、IP をプッシュする独自のシステムがあります。アイデアは、Noflo と Noflo UI を統合し、可能な限り再利用し、残りを開発することです。

これに関するアドバイスをいただければ幸いです。

ありがとう

4

1 に答える 1

1

問題は主に、ブラウザー用に静的に構成された NoFlo コンポーネント ローダーを生成する必要があることです。ブラウザーはファイル システムから利用可能なコンポーネントを検出できないためです。

この機能は、以前は grunt-noflo-browser モジュールと強く結合されていました。

ただし、現時点では、 noflo-component-loader WebPack プラグインを使用して、既存の WebPack セットアップの一部として NoFlo をビルドできるはずです。次のようなものを WebPack に追加しますmodule.rules

{
  // Replace NoFlo's dynamic loader with a generated one
  test: /noflo\/lib\/loader\/register.js$/,
  use: [
    {
      loader: 'noflo-component-loader',
      options: {
        // Only include components used by this graph
        // Set to NULL if you want all installed components
        graph: 'myproject/GraphName',
        // Whether to include the original component sources
        // in the build
        debug: false,
      },
    },
  ],
},
于 2017-10-27T17:30:10.600 に答える