使用cola的cytoscape.js似乎不再有效

使用cola的cytoscape.js似乎不再有效,cytoscape.js,cytoscape,Cytoscape.js,Cytoscape,我正在用最新的可乐尝试最新的cytoscape,我得到以下错误: 未捕获类型错误:cola.adapter不是函数 对于cytoscape.js代码片段: var adaptor = layout.adaptor = cola.adaptor({ trigger: function( e ){ // on sim event switch( e.type ){ case 'tick': if( options.animate ){

我正在用最新的可乐尝试最新的cytoscape,我得到以下错误:

未捕获类型错误:cola.adapter不是函数

对于cytoscape.js代码片段:

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

Cola的API有变化吗?

Cola现在有很好的npm和版本控制支持,因此如果有问题,您可以轻松尝试不同版本的Cola

我还向Cola发出了一个请求,这样他们就有了一个专用的父类,Typescript中的泛型适配器。公共关系已经被合并,所以在未来应该得到很好的支持。(Cola中以前的适配器是JS适配器,显然不适合TS中的经典继承模型。)

--

旧答案:

Cola不支持语义版本控制,在包管理器中也不支持。对Cola的更新经常会破坏API兼容性,在将来的主要版本发布之前,为Cola的更新版本重写Cytoscape.js方面的内容不是一个选项

如果您想保证兼容性,请使用Cytoscape.js下载ZIP中包含的Cola版本


您可能还想向Cola提交一个问题,因为本例中的问题肯定在这一边,并且Cytoscape.js没有修复程序就无法运行:

我在尝试按照建议执行操作时仍然会遇到此错误(React/Browserify/ES6/npm):

从“cytoscape”导入cytoscape;
从“cytoscape可乐”进口cycola;
从“webcola”进口可乐;
cycola(cytoscape,cola);
但是,在看到并将其包含在索引文件的
中之后,我能够使其工作

最后,我不得不这样做:

cycola(cytoscape,window.cola);//因为可乐现在住在窗户里

如果您使用webpack构建应用程序,请导入:

从“出口”可乐导入可乐!webcola/webcola/cola'

这对我来说很有用:)