加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

React+Nodejs+Socket+Webpack版你画我猜

发布时间:2020-12-15 03:27:57 所属栏目:百科 来源:网络整理
导读:React版我画你猜 之前有看到过一个Vue版本的 我画你猜 然后用 React 也做了一个。技术栈: React + Nodejs + Socket.io + Webpack + Less 先上传送门Github,你要是敢给我Star!!!我就敢接受!!有啥问题可以在下面留言或者github issue一起进步 主要注意下面几

React版我画你猜

之前有看到过一个Vue版本的 我画你猜 然后用 React 也做了一个。技术栈:React + Nodejs + Socket.io + Webpack + Less

先上传送门Github,你要是敢给我Star!!!我就敢接受!!有啥问题可以在下面留言或者github issue一起进步

主要注意下面几点:

1.Socket.io在express中的问题

具体可以参考官方,Socket.io;

2.Socket.io-client

index.html中,我在开头引入了./node_modules/socket.io-client/socket.io.js,如果路径变更记得修改,主要是出于对socket.io的不熟悉,不知道怎么样在react中通过import方式去引入,有好的做法欢迎提出。

3.其他

写在最后,还是那句,第1次接触Websocket,不知道socket.io有没有双向发送消息的机制,所以在server.js中你会看到来来回回了好几次。

io.on('connection',function(socket) {
    //接收path
    socket.on('drawPath',function(data) {
        socket.broadcast.emit('showPath',data);
    });

    socket.on('submit',function(keyword) {
        var bingo = 0;
        if (KEYWORD.toLocaleLowerCase() == keyword.toLocaleLowerCase()) {
            bingo = 1;
        }
        socket.emit('answer',{
            bingo
        });
    });

    socket.on('message',function(message){
        if(message == 'getKeyWord'){
            KEYWORD = keyword[Math.floor(Math.random() * keyword.length)];
            socket.emit('keyword',KEYWORD);
        }else if(message == 'clear'){
            socket.emit('showBoardClearArea');
        }
    });

    socket.on('disconnect',function() {});
});

写完之后没有整理,比较乱。就是想大概实现一下,有兴趣的自己看吧!做了亏心事背景要灰一点。。。。

Installation

git clone https://github.com/zhoulijie/draw-something.git

Run

//安装依赖
npm install
//run
npm start

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读