开发环境
任何以 Web 为中心的 IDE 或编辑器都可以进行主要开发。您可以自行决定要使用哪一种。我们推荐 Visual Studio Code。
除了 IDE,您还需要以下工具:
之后,您可以运行以下命令,并且输出文件夹中应该已经有 alphaTab 的编译版本:
> npm install
> npm start
#NPM 脚本
存储库有一组 NPM 脚本,它们负责编译和测试等操作。通过 npm run <scriptname>
. 有关更多详细信息,请参阅npm 文档。
clean
- 清除所有输出lint
- 检查源代码是否存在样式违规build
- 使用当前代码状态编译 alphaTab 的网络版本build-ci
- used 使用当前代码状态编译网络版本的 alphaTab(由 GitHub Actions 使用)start
- 在开发期间用于通过观察者和增量编译快速构建 alphaTabtest
- 在 Chrome 中运行单元测试套件test-ci
- 在 Chrome Headless 中运行单元测试套件(由 GitHub Actions 使用)generate-csharp
- 将 TypeScript 代码库翻译成 C#build-csharp
- 使用当前代码状态编译 C#/.net 版本的 alphaTabbuild-csharp-ci
- 使用当前代码状态编译 C#/.net 版本的 alphaTab(由 GitHub Actions 使用)test-csharp
- 运行 C# 的单元测试套件test-csharp-ci
- 运行 C# 的单元测试套件(由 GitHub Actions 使用)
#项目结构
-
距离/
包含编译输出。
-
字体/
包含 alphaTab 操作所需的文本和音源。
-
图片/
包含存储库的一些图像。
-
节点模块/
包含开发期间所需的下载的 NPM 依赖项。
-
操场/
包含在开发期间使用的本地操场模板。它包含一些可以在浏览器中打开进行测试的示例文件。
-
脚本/
包含用于持续集成的脚本。
-
来源/
包含 alphaTab 的主要源代码。
-
src.编译器/
包含扩展 TypeScript 编译器的特殊源代码。整个 TypeScript 到 C# 编译器都在这里,还有一些转换器可以生成 JSON 序列化器之类的东西。
-
src.csharp/
包含在从 TypeScript 生成的代码之上需要的 C# 特定源代码。
-
测试/
包含与自动化测试(单元测试、集成测试、视觉回归测试等)相关的源代码。
-
测试数据/
包含测试期间所需的所有文件。
-
业力配置文件
这是我们使用的测试运行器 Karma 的输入文件。
-
汇总配置文件
这是我们使用的打包器 Rollup.js 的主要配置。
-
汇总.resolve.js
用于处理模块解析的自定义汇总插件。
-
tsconfig.base.json
主 tsconfig 对所有编译都有效。
-
tsconfig.build.json
产生生产输出的 tsconfig(无测试)。
-
tsconfig.build-csharp.json
将 TypeScript 编译为 C# 时使用的 tsconfig。
-
配置文件
开发过程中使用的 tsconfig 包含主要源代码和测试。
-
tslint.json
代码风格规则。