geckos.io 项目教程
1. 项目的目录结构及介绍
geckos.io/
├── examples/
│ ├── simple-chat-app-example/
│ ├── phaser3-multiplayer-game-example/
│ └── docker-example/
├── lib/
│ ├── channel.ts
│ ├── connection.ts
│ ├── geckos.ts
│ └── server.ts
├── test/
│ ├── connection.test.ts
│ ├── server.test.ts
│ └── utils.test.ts
├── .gitignore
├── LICENSE
├── package.json
├── README.md
└── tsconfig.json
目录结构介绍
- examples/: 包含多个示例项目,如简单的聊天应用、Phaser 3 多人游戏示例和 Docker 示例。
- lib/: 包含项目的主要代码文件,如
channel.ts
,connection.ts
,geckos.ts
, 和server.ts
。 - test/: 包含项目的测试文件,如
connection.test.ts
,server.test.ts
, 和utils.test.ts
。 - .gitignore: Git 忽略文件,指定哪些文件和目录不需要被 Git 管理。
- LICENSE: 项目的开源许可证文件。
- package.json: 项目的依赖管理文件,包含项目的依赖包和脚本命令。
- README.md: 项目的介绍文件,包含项目的概述、安装和使用说明。
- tsconfig.json: TypeScript 配置文件,定义 TypeScript 编译器的选项。
2. 项目的启动文件介绍
项目的启动文件主要是 lib/geckos.ts
和 lib/server.ts
。
lib/geckos.ts
这是 geckos.io 的核心文件,负责初始化 WebRTC 连接和处理客户端与服务器之间的通信。
lib/server.ts
这是服务器端的启动文件,负责启动 WebRTC 服务器并监听客户端的连接请求。
3. 项目的配置文件介绍
package.json
package.json
文件包含了项目的依赖包和脚本命令。以下是一些关键配置项:
{
"name": "geckos.io",
"version": "1.0.0",
"main": "lib/geckos.js",
"scripts": {
"start": "node lib/server.js",
"test": "jest"
},
"dependencies": {
"express": "^4.17.1",
"webrtc": "^1.0.0"
},
"devDependencies": {
"jest": "^26.6.3"
}
}
tsconfig.json
tsconfig.json
文件定义了 TypeScript 编译器的选项。以下是一些关键配置项:
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"outDir": "./dist",
"strict": true
},
"include": ["src/**/*"],
"exclude": ["node_modules", "**/*.spec.ts"]
}
通过以上配置,可以确保 TypeScript 代码被正确编译并生成可执行的 JavaScript 文件。