处理平台
Node.js 版本
为了考虑 Node.js 版本,请在 package.json 中使用 engines 字段。Turborepo 将会考虑此字段的更改并相应地进行缓存失效。
操作系统、架构和其他任意条件
对于高级用例,您可能希望操作系统 (OS)、架构或其他外部因素对您的哈希值做出贡献。
1. 将任意文件写入磁盘
首先,创建一个脚本来计算您感兴趣的哈希贡献者。例如,这是一个 Node.js 脚本,用于识别平台和架构并将这些详细信息写入文件 (turbo-cache-key.json)
2. 将文件添加到 .gitignore
由于此文件依赖于环境,因此您不希望将其提交到源代码管理。将其添加到您的 .gitignore
3. 将文件添加到哈希
现在,通过将文件添加到任务输入,确保 turbo 知道该文件。您可以通过两种方式实现此目的
- 对于特定任务:在任务的
inputs数组 中包含该文件


- 对于所有任务:将文件添加到
globalDependencies


4. 在运行 turbo 之前生成文件
最后,您需要确保在运行 turbo 之前运行脚本。例如
turbo run build 现在将在计算 build 任务的哈希值时,将 turbo-cache-key.json 的内容考虑在内。