Group Details Private

Global Moderators

Forum wide moderators

 
NodeJS 和 Express下全局错误处理
// 注:异常处理一
  app.use(function (err, req, res, next) {
    console.error(err.stack)
    var body = createHtmlDocument(err.stack)
    res.end(body, 'utf8')

    sendErrCourier(err.stack)
  })
  app.listen(app.get('port'), function () {
    console.log('listening port ' + app.get('port'))
  })
  // 注:异常处理二
  process.on('uncaughtException', function (err) {
    console.log(err.stack)
    sendErrCourier(err.stack)
  })
  // 注:异常处理三
  process.on('unhandledRejection', (reason, p) => {
    console.log('Unhandled Rejection at: Promise', p, 'reason:', reason)
    sendErrCourier(reason)
  })
// 注:警告处理
process.on('warning', e => console.warn(e.stack)); 

function sendErrCourier(msg) {
  // do send message
}
posted in 中文
一键将 package.json 中的模块更新到最新版本

收到要求学习以前的一个项目,结果这个项目中package是很老的版本了 需要更新到最新的,这么多模块不可能一个个去手动更新,搜了一下解决方案,利用 npm 一个插件 ncu 是比较方便的办法.

  • ncu 的官方介绍:

"npm-check-updates upgrades your package.json dependencies to the latest versions, ignoring specified versions."

  • ncu 的用法:
npm i -g npm-check-updates
ncu -u
npm install
posted in 中文
Git + Cocos Creator 3 + Colyseus

這是我常用的開發組合, 關於 Cocos Creator 3 與 Colyseus 請參考這裏.
這篇文章主要記錄它們與 Git (Github, Gitee) 的用法.

  • Git
    Git 是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目.
    Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件.
    Git 与常用的版本控制工具 CVS, Subversion 等不同,它采用了分布式版本库的方式,不必服务器端软件支持.

  • Github / Gitee
    github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.
    Github 由Chris Wanstrath, PJ Hyett 与Tom Preston-Werner三位开发者在2008年4月创办。迄今拥有59名全职员工,主要提供基于git的版本托管服务.
    大家都知道国内访问 Github 速度比较慢,很影响我们的使用.
    如果你希望体验到 Git 飞一般的速度,可以使用国内的 Git 托管服务——Gitee.
    Gitee 提供免费的 Git 仓库,还集成了代码质量检测、项目演示等功能. 对于团队协作开发,Gitee 还提供了项目管理、代码托管、文档管理的服务,5 人以下小团队免费.

  • LFS
    Git LFS(Large File Storage, 大文件存储)是可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小工具. 通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能.
    git每次保存diff,一些大文件发生变化时,整个仓库就会增加很大的体积,导致clone和pull的数据量大增. 对于git lfs来说,在使用git lfs track命令后,git push的时候,git lfs会截取要管理的大文件,并将其传至git lfs的服务器中,从而减小仓库的体积.
    大文件掃描命令:git lfs track *.gz

  • Config Files

.gitignore

#///////////////////////////
# Cocos Creator 3D Project
#///////////////////////////
library/
temp/
local/
build/
profiles/
native
#//////////////////////////
# NPM
#//////////////////////////
node_modules/

#//////////////////////////
# VSCode
#//////////////////////////
.vscode/

#//////////////////////////
# WebStorm
#//////////////////////////
.idea/

.gitattributes

raw/* filter=lfs diff=lfs merge=lfs -text

其中 raw/* 是我自定義的二進制大文件存放路徑.

tsconfig.json

{
  /* Base configuration. Do not edit this field. */
  "extends": "./temp/tsconfig.cocos.json",

  /* Add your custom configuration here. */
  "compilerOptions": {
    "strict": false,
    "esModuleInterop": true
  }
}

posted in 中文
RE: C# equivalent of Schema library?

We don't have any C# server as you want, but why not use Colyseus as server for your Unity client? That's why schema make sense.

posted in General Discussion
Cocos Creator 3.4 + Colyseus <猜數字>

(編輯中......)

0_1642593302198_gui.jpg

  • 比赛模式
  • 对战模式
  • 四字模式
  • 单机模式

https://github.com/CocosGames/GuessNumber

posted in 中文
打开 Defold 造成 OpenJDK 卡死问题及解决方法

有的小伙伴说 Defold 打不开, 或者打开非常卡顿, 甚至整个系统假死, 我一开始没有在意, 直到今天我也遇到了这个问题,所以在此记录一下解决方法。
如果你想使用 Windows 的虚拟化功能,请打开 Exploit Protection 的 “控制流保护 (CFG)” 功能。否则的化就请彻底禁用虚拟化功能。
我的机器是 AMD 的 CPU,开启电源之后按 Del 进入 BIOS 设置,进阶设置里把 CPU 的 SVM Mode 关闭。进入 Windows 之后 进入控制面板 – 程序和功能 – 启用或关闭 Windows 功能。

0_1639297678950_c2811ff3-66f9-4524-b039-fd97337b5121-image.png

如图把 Hyper-V , 适用于 Linux 的 Windows 子系统 和 虚拟机平台 全部关掉。
重新启动 Windows, 再次打开 Defold,一切正常。

posted in 中文