【发布时间】:2016-08-02 18:25:20
【问题描述】:
我正在尝试通过 npm 让 cytoscape-qtip 包与流星一起使用。
我已经通过“meteor npm install --save”命令安装了 cytoscape、jquery、qtip2 和 cytoscape-qtip,我正在将它们导入并注册到我的模板中,如下所示:
import cytoscape from 'cytoscape'
import jquery from 'jquery'
import cyqtip from 'cytoscape-qtip';
import qtip from 'qtip2';
cyqtip(cytoscape, jquery);
当我尝试在 cytoscape 元素上使用 .qtip 命令时,我收到以下错误:
TypeError: qtip.$domEle.qtip is not a function
我已经尝试使用气氛包(cytoscape:cytoscape、maxkfranz:cytoscape 和 maxkfranz:cytoscape-qtip),但我最终得到了同样的错误。
如果我尝试导入与流星捆绑在一起的 jquery(从 'meteor/jquery' 导入 jquery),我的页面将根本无法加载,并且我收到错误“TypeError: $ is not a function”。
cytoscape-qtip 状态的文档
请注意,如果使用任何类型的 require(),jquery 必须指向注册了 .qtip() 的 jQuery 对象。
这可能是问题所在,qtip 没有在 jQuery 对象中注册?如果是这样,我该如何注册?
我可以看到this guy 有类似的问题,通过更改他的脚本的导入顺序来解决,但是由于我使用的是 npm,我不确定如何手动更改导入顺序。
任何帮助将不胜感激!
【问题讨论】:
-
解决了!它在将 qtip2 降级到 2.2.0 后工作,并将 Meteors 包括 jquery 替换为 npm 中的一个:
import cytoscape from 'cytoscape' import jQueryNpm from 'jquery' import cyqtip from 'cytoscape-qtip'; import qtip from 'qtip2'; export const jQuery = jQueryNpm; export const $ = jQueryNpm; cyqtip(cytoscape, jQuery); -
不过,我会推荐
loopback:tooltip。本机包似乎工作得更好,在我尝试安装qtip2的过程中,我遇到了很多问题,我可以通过使用流星包来解决相同的目的。很高兴它对你有用,不过
标签: meteor npm qtip2 cytoscape.js