首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >YUI3和socket.io

YUI3和socket.io
EN

Stack Overflow用户
提问于 2013-08-17 16:22:59
回答 1查看 224关注 0票数 2

只是一个简单的问题:

我正在我的网站使用YUI3框架,并希望使用socket.io框架。

现在的挑战是如何将socket.io与YUI3结合使用。到目前为止,我在socket.io沙箱中使用了YUI逻辑,并且运行良好。

但这种做法会有什么退路吗?如果是,那我该如何将两者结合起来呢?

下面是代码片段:

代码语言:javascript
复制
<script type="text/javascript">

YUI().use('my-slide' , 'node', 'event','transition',  function (Y) {

    // connecting to nodejs server running on 7001 port for dynamic updates 
    var broadcast = io.connect('http://localhost:7001/getlatestbroadcast');

    broadcast.on('status',function(data){

        // some socket  logic here 
    }); 

    // Setting Listener
    broadcast.on('moreData',function(data){

        // some socket logic here 

    });
});

</script>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-08-18 01:31:15

您所做的肯定有效,如果不与其他名为io的变量发生冲突,那么使用它就没有问题。使用Socket.IO (或YUI中的任何其他外部模块)的一种稍微有效的方法是在Y对象上命名它:

代码语言:javascript
复制
YUI({
      modules: {
          'socket.io': {
              fullpath: '/socket.io/socket.io.js'
          }
      },

      onProgress: function (e) {
          if (e.data[0].name === 'socket.io') {
              YUI.add('socket.io', function (Y) {
                  Y.Socket = io;
              });
          }
      }
  }).use('socket.io', function (Y) {
      var socket = Y.Socket.connect('http://localhost');

      socket.on('news', function (data) {
          console.log(data);
          socket.emit('my other event', { my: 'data' });
      });
  });

这以socket.io网站中的示例为例,并允许您将其命名为Y.Socket。这样,只有当您专门执行YUI().use('socket.io')时,您才能真正地访问Y.Socket,这有助于您的代码按照正确的顺序组织和加载,这要感谢YUI。

此外,如果您正在寻找一种更简单的方法将您的YUI应用程序集成到Socket.IO中,那么可以随意查看我创建的YUI库模块。

希望这有帮助,并让我知道,如果你有任何关于整合这两者的任何问题!

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18290934

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档