5

最新のコーラで最新のサイトスケープを試していますが、次のエラーが表示されます。

キャッチされていない TypeError: cola.adaptor は関数ではありません

cytoscape.js コード スニペットの場合:

   var adaptor = layout.adaptor = cola.adaptor({
    trigger: function( e ){ // on sim event
      switch( e.type ){
        case 'tick':
          if( options.animate ){

Cola の API は変更されましたか?

4

3 に答える 3

2

ドキュメントが示唆するようにしようとすると、まだこのエラーが発生します(React/Browserify/ES6/npm):

import cytoscape from 'cytoscape';
import cycola from 'cytoscape-cola';
import cola from 'webcola';

cycola(cytoscape, cola);

ただし、この問題を確認し、インデックス ファイルにcolav3 スクリプトを含めた後、機能させることができました。<head>

最後に、私はこれをしなければなりませんでした:

cycola(cytoscape, window.cola); // since cola now lives in window
于 2016-05-17T18:12:55.467 に答える
1

Cola は npm とバージョニングを適切にサポートするようになったため、問題が発生した場合に Cola のさまざまなバージョンを簡単に試すことができます。

また、Cola にプル リクエストを行ったので、Typescript に専用の親クラス、ジェネリック アダプターがあります。PR はその後マージされたので、将来にわたって十分にサポートされるはずです。(以前の Cola のアダプターは JS のもので、TS の従来の継承モデルには明らかに適合しませんでした。)

--

古い答え:

Cola はセマンティック バージョニングをサポートしておらず、パッケージ マネージャーでもサポートされていません。Cola の更新は定期的に API の互換性を壊します。Cola の更新バージョン用に Cytoscape.js 側を書き直すことは、将来のメジャー バージョン リリースまでオプションではありません。

互換性を確保したい場合は、Cytoscape.js のダウンロード ZIP に含まれているバージョンの Cola を使用してください。

この場合の問題は確かにその側にあり、Cytoscape.js は修正なしでは動作できないため、Cola に問題を報告することもできます: https://github.com/tgdwyer/WebCola/issues

于 2015-07-06T16:08:53.767 に答える
-1

ビルドアプリに webpack を使用する場合は、cola をインポートします。

import cola from 'exports?cola!webcola/WebCola/cola';

それは私のために働きます:)

于 2016-10-20T16:10:06.880 に答える