2

簡単な質問:

私はYUI3自分のウェブサイトにフレームワークを使用しており、フレームワークを使用したいと考えていますsocket.io

今の課題はsocket.io、YUI3 で使用することです。現在、サンドボックスsocket.io内でロジックを使用しており、正常に動作しています。YUI

しかし、このアプローチのフォールバックはありますか? はいの場合、両方を整数化するにはどうすればよいですか?

コードのスニペットは次のとおりです。

<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>
4

1 に答える 1

2

あなたがしていることは間違いなく機能し、 という名前の他の変数と競合しない限り、そのように使用しても問題はありませんio。Socket.IO (または YUI のその他の外部モジュール) を使用するもう少し効果的な方法は、Y代わりにオブジェクトで名前空間を作成することです。

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 Web サイトから例を取得し、名前空間を として使用できるようにしますY.Socket。そうすれYUI().use('socket.io')Y.Socket、YUI ローダーのおかげで、コードを整理して正しい順序でロードするのに役立ちます。

また、 YUI App Framework アプリケーションを Socket.IO と統合する簡単な方法をお探しの場合は、私が作成したSocket Model Sync YUI Gallery モジュールをお気軽にチェックしてください。

これがお役に立てば幸いです。この 2 つの統合について他に質問がある場合はお知らせください。

于 2013-08-18T01:31:15.233 に答える