turbo 配置的长时间运行任务应该补全 persistent 配置
在同事的 mac 电脑内,出现了 turbo 命令运行 vite 本地 dev 任务时,运行完直接关闭的情况。
经过查阅文档得知,是我们的 turbo.json 配置缺少了 persistent 配置。
作为长时间运行的 dev 项目,应该配置 persistent 持久化配置,保持该任务长期运行。
package.json 任务定义
假设有以下的任务,我们要为 dev 主项目和 docs:dev 文档项目配置 turbo 任务。
任务定义
json
{
"scripts": {
"dev": "turbo vite:dev",
"vite:dev": "vite",
"rm:types": "node --import=tsx ./scripts/del-types.ts",
"copy-changelog": "cpx CHANGELOG.md src",
"changelog-yaml": "node --import=tsx ./scripts/yaml-in-md.ts --md=./src/CHANGELOG.md",
"do-docs-dev": "vitepress dev src --port 8080",
"docs:dev": "turbo do-docs-dev"
}
}
turbo.json 任务调度配置
那么两个本地运行的,长期存在的项目,就应该被 turbo 配置为 persistent 持久化。
任务调度配置
json
{
"$schema": "https://turbo.build/schema.json",
"tasks": {
"rm:types": {
"cache": false
},
"vite:dev": {
"cache": false,
"persistent": true,
"dependsOn": [
"rm:types"
]
},
"copy-changelog": {
"cache": false
},
"changelog-yaml": {
"cache": false,
"dependsOn": [
"copy-changelog"
]
},
"do-docs-dev": {
"cache": false,
"persistent": true,
"dependsOn": [
"changelog-yaml"
]
}
}
}