彗星你好世界的例子与道场

  • 本文关键字:你好 世界 dojo cometd
  • 更新时间 :
  • 英文 :


我在这里尝试遵循基本的彗星示例:http://dojotoolkit.org/reference-guide/1.7/dojox/cometd.html

它使用的是旧的模块加载器,所以我尝试了如下等效方法:

require(["dojo/ready","dojo/io/script","dojox/cometd","dojox/cometd/callbackPollTransport"], function(ready, dontcare, cometd) {
    ready(function(){   
        cometd.init('http://localhost:8080/MyCometD/cometd');
        comted.subscribe("/test", function(msg){
            console.debug(msg);
        });
    });
});

这不起作用,我认为这与加载模块有关 - 存在某种无声错误,因为 ready 函数中的代码根本不执行。我发现当"dojox/cometd"require语句存在时,ready函数中的代码不会执行。

运行示例:http://jsfiddle.net/Q9W8f/2/

删除 dojox/comted 的示例:http://jsfiddle.net/mMs2h/4/

我没有使用过新的模块加载器,所以我敢打赌我只是有一些简单的误解。

帮助!

看起来你是对的,并且对于永远不会加载的模块要求有一个"等待循环"。这可能是 dojox.cometd 中的任何要求,您需要重写代码库以进行修复。

我在 dojox 存储库中也遇到了类似的 RollingListPane 问题 - 开发人员说"我们 100% 符合 AMD 1.7",但是 dojox 中的 X 是实验性的缩写。dojox 模块的开发不是由核心 djtk 团队完成的,仍然存在故障。

尝试让初学者避免使用 CDN,它在每个模块上都执行了>>构建的宏。在使用 AMD 时,这有时会失败。而是下载压缩包并使用本地副本 - 未压缩(dojo-release-1.7.2-src)

您可以在以下链接中找到 cometD 和 ExtJs 中的 hello world 示例:http://jksnu.blogspot.in/2013/08/network-reliability-by-cometd-hellow_16.html

最新更新