0

インタープリター (JIT なし) である単純な JavaScript エンジンを使用して、組み込み Linux ボックスでnofloを実行することを評価しています。私たちの場合、Node.js エンジン (V8 エンジンが組み込まれている) はリソースを大量に消費する可能性があります。

当面の問題は、そこで noflo ランタイムを実行する方法です。GitHub リポジトリ ( https://github.com/noflo/noflo ) をチェックアウトし、grunt を使用して、 grunt build:browserを使用してブラウザー用の noflo を生成しました。

生成されたbrowser/noflo.jsファイルを実際に試して実行する簡単な例として、Node.js ユニバース外の分離された Javascript エンジンに d8 シェル (V8 エンジン シェル) を使用し、生成された noflo.js に次のコードを追加しました。ファイル:

var fbpData = "<some FBP language connections>";

var noflo = require('noflo');
noflo.graph.loadFbp(fbpData, function(graph) {
    print("Graph loaded");
});

次に、 d8 noflo.js

報告する Linux シェルで

rtm.js:9559: TypeError: undefined is not a function
noflo.graph.loadFbp(fbpData, function(graph) {
            ^
TypeError: undefined is not a function
at rtm.js:9559:13

さらに詳しく知ることなく、noflo.js はすべてのコア noflo ランタイム機能を備えた自己完結型ではないと私は信じています。

分離されたJSエンジンでnofloライブラリを実行するために必要な手順がここにありません(V8は単なる例です-ECMA V5に準拠している任意のエンジンである可能性があります)

noflo プロジェクトの Web サイトにあるすべてのコード例は、Node.js 用に調整されています...

PS: http://noflojs.org/download/からブラウザーベースの noflo をビルドする代替手段として試しましたが、これは常に「サーバーエラー」を返します。

よろしくお願いします

ギュンター・シュトルーベ

4

3 に答える 3

1

NoFlo-Gnome プロジェクトには、NoFlo を埋め込んだ noflo-runtime-base リポジトリ ( https://github.com/noflo/noflo-runtime-base ) のブラウザー ビルドが含まれています。

ブラウザーのビルドがエンジンに必ずしも適合するとは限らないため、いくつかのエイリアスを追加する必要がある場合があります: https://github.com/noflo/noflo-gnome/blob/master/src/noflo.js#L89

于 2014-09-28T08:27:14.157 に答える
0

noflo-gnomeは、Spidermonkey と GLib/GObject に基づくGJS でNoFloを実行します。

NoFlo をプルできる最小限の require() 互換性があります。./src/libs に noflo (+ noflo-runtime-base) のチェックイン ビルドがありますが、これがどのように作成されるかはすぐにはわかりませんでした。

于 2014-09-28T01:50:04.940 に答える
0

ブラウザ ビルドを使用して起動時間を短縮することを検討している場合は、以下も参照して ください: https://github.com/djdeath/noflo-iot I/O が遅い。NoFlo の単一ファイル圧縮ビルド (必要なすべてのコンポーネントを含む) は、大幅に高速であることが判明しました。

于 2014-09-28T08:32:07.173 に答える