处理平台
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
之前运行脚本。例如
现在,当计算 build
任务的哈希值时,turbo run build
将会考虑 turbo-cache-key.json
的内容。
这有帮助吗?