Skip to content

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"
			]
		}
	}
}

persistent 文档

贡献者

The avatar of contributor named as ruan-cat ruan-cat

页面历史