cocos creator游戏实战(6.10)-仿AFK(剑与远征)--pinus、pomelo文档及实践

按照之前的文章,完成在项目引入pinus。
第一步准备完成官方ChatDemo。

在自己编写代码的过程中,记录以下自己的学习心得:
1、pinus是pomelo的TS版本
pinus文档:https://pinus.io/zh-cn/introduce.html,文档只写了基础的入门和接口索引,直接学习有难度,建议先学习pomelo。了解框架的基础。
pomelo文档:https://github.com/NetEase/pomelo/wiki/Home-in-Chinese

2、pinus开源代码里面有ChatRoom的TS版,可下载参考。但由于我的版本和开源代码不一样,代码文件会出现不一致的情况

3、关于pinus的服务器配置遇到的问题:
按照前面文章介绍的server扩展方法,配置了config/server.json文件之后,使用测试代码访问gate服务器。
出现 Connection closed before receiving a handshake response错误。
在这里插入图片描述
原因是:要在app.ts启动时,配置一下gate类型服务器的属性,如下:
在这里插入图片描述

配置好服务器之后,访问服务器出现app.rpcinvoke is not function错误。
原因是:要在adminServer.ts/json文件中配置对应服务器的rpc通信
在这里插入图片描述

4、gate服务器是做负载均衡的,客户端访问gate之后,会返回一个connector的服务器给到客户端,然后客户端在发起请求到connector服务器。

在这里插入图片描述
在这里插入图片描述

5、记得看pinus服务器运行提示,参数、路径的错误在控制台里面会很容易找到问题所在(比如下面的ERROR错误是route路径不正确)。
在这里插入图片描述

6、npm导入crc库,import * as crc from 'crc';需要导入@type定义的npm包。
对于没有@type定义的npm包,需要做如下出来,才能在脚本里使用:
最近在用react重构我们的Angularjs项目,我使用的是create react-app 构建的 使用typescript的react项目

其中遇到一个问题就是有的npm包比如: react-loadable 在npm上是没有@types/react-loadable的那么我们如何在符合TS语法的基础上引入这个包呢?

首先正常npm install react-loadable --save 然后在项目中找到react-app-env.d.ts 加上以下代码即可:

declare module ‘react-loadable’ {
const classes: any;
export default classes;
}
然后正常引入即可:

import Loadable from ‘react-loadable’;
如果你不知道 node_module里的react-loadable export 的是什么,你也懒得去node_module里看一眼

像这样引入也可以(但是不推荐)

import * as Loadable from ‘react-loadable’;

关于:react-app-env.d.ts 文件的解释:https://juejin.im/post/5c6ad288e51d457fd6233821#heading-6

其实在项目中还有一个ts的types.d.ts文件但是我们已经是用create react-app 构建的typescript项目,所以改写react-app-env.d.ts文件就足够了。

关于 *.d.ts 声明文件的解释:https://ts.xcatliu.com/basics/declaration-files.html

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值