贡献指南
感谢您的帮助!我们欢迎所有贡献者。
项目结构
srcpcl.js 的所有源代码websitehttps://pcl.js.org 网站的源代码tests测试代码目录core点云库 (PCL) 源代码
下载和安装
- fork 这个仓库到你的 Github,然后克隆到你的本地设备 (如果要更改 C++ 代码,需使用 
--recursive用于克隆子模块)或者使用 Gitpod,一个免费的 GitHub 在线开发环境。 
git clone https://github.com/luoxuhai/pcl.js --recursive
或者丢弃大部分分支和历史来更快地克隆:
git clone https://github.com/luoxuhai/pcl.js --recursive --depth 1 --single-branch --branch master
- 安装 Node LTS
 - 安装 Emscripten SDK(如果你不更改 C++ 代码则不需要安装,比如
src/bind和core/下的文件) 
安装依赖
cd pcl.js
npm install
编写代码
- 编译 PCL(C++),README
 - 如果更改了 C++ 代码需要编译 WebAssembly: 
npm run dev:wasm或npm run build:wasm - 打包 JavaScript 
npm run dev:js或者npm run build:js 
测试你的更改
- 在 
/tests目录下创建测试代码(如果该文件尚不存在,请使用*.test.ts扩展名创建它) - 如果更改了 C++ 代码需要运行 
npm run dev:wasm或npm run build:wasm - 运行 
npm run dev:js或npm run build:js用于构建测试运行的代码 - 运行 
npm run test 
更新文档
我们的文档是用 Docusaurus 制作的。它们位于 website/docs/ 目录中。
- 打开 
website/目录(cd website) - 安装依赖 
npm install或者yarn - 启动项目 
npm run start,对于中文:npm run start:zh - 构建项目 
npm run build,用于在本地检查是否存在错误 
编写 Commit Message
在创建拉取请求之前,请检查您的提交是否符合此存储库中使用的提交约定。
当您创建提交时,请遵守约定:category(scope or module): message,其中 category 是以下之一:
feat:一项新的功能特性fix:修复 bugrefactor:重构(既不修复bug也不增加新功能的代码更改)perf:提高性能的代码更改docs:更改现有文档或创建新文档build:影响构建系统或外部依赖项的更改(示例范围: rollup、npm)test: 添加缺失的测试或更正现有的测试style:不会影响代码含义的更改(空格,格式,缺少分号等)chore:不符合上述任何一项的对存储库的更改
如果您对详细规范感兴趣,可以访问 Conventional Commits 或查看 Angular Commit Message Guidelines。
命令介绍
npm run build:pcl编译 PCL 到 WebAssembly 静态库npm run dev:js打包 JavaScript 代码调试版本npm run dev:wasm编译 PCL 的 WebAssembly +src/bind到 WebAssembly 调试版本npm run dev同时打包 JavaScript 和 编译 PCL,用于开发使用npm run build:js打包 JavaScript 代码生产版本npm run build:wasm编译 PCL 到 WebAssembly 生产版本npm run build同时打包 JavaScript 和 编译 PCL,可用于生产环境npm run lint检查代码风格npm run test运行测试。(在运行测试前请确保已经运行npm run dev:js或npm run build:js)