当前位置: 首页 > wzjs >正文

有哪些简单的网站百度大搜推广开户

有哪些简单的网站,百度大搜推广开户,漳州那里有做网站,网站建设公司友情链接目录 配置开发任务 在 dev 之前运行设置任务 运行特定应用程序 使用终端 UI 与任务交互 监听模式 watch 将 turbo watch 与持久任务一起使用 依赖感知的持久任务 没有依赖感知的持久任务 缓存 任务输出 局限性 在 Monorepo 中开发应用程序可以解锁强大的工作流程&…

目录

配置开发任务

在 `dev` 之前运行设置任务

运行特定应用程序

使用终端 UI

与任务交互

监听模式

watch

将 turbo watch 与持久任务一起使用

依赖感知的持久任务

没有依赖感知的持久任务

缓存

任务输出

局限性


在 Monorepo 中开发应用程序可以解锁强大的工作流程,使你能够进行原子提交到源代码控制,并轻松访问代码。

大多数开发任务都是长时间运行的任务,它们会监视代码的更改。Turborepo 通过强大的终端 UI 和其他功能(例如)增强了这种体验

配置开发任务

在 `turbo.json` 中定义一个开发任务会告诉 Turborepo 你将要运行一个长时间运行的任务。这对于运行开发服务器、运行测试或构建应用程序等操作非常有用。

要注册一个 `dev` 任务,请将其添加到你的 `turbo.json` 中,并带有两个属性

{"tasks": {"dev": {"cache": false,"persistent": true}}
}
  • "cache": false: 告诉 Turborepo 不要尝试缓存任务的结果。由于这是一个开发任务,你可能会频繁更改代码,因此缓存结果没有用处。
  • "persistent": true: 告诉 Turborepo 让任务持续运行直到你停止它。这个键作为终端 UI 的信号,将该任务视为长时间运行且可交互的任务。此外,它可以防止你意外地依赖于一个不会退出的任务。

现在你可以运行你的 `dev` 任务以并行启动你的开发脚本

turbo dev

在 `dev` 之前运行设置任务

你可能还想运行一些脚本来设置你的开发环境或预构建软件包。你可以使用 `dependsOn` 确保这些任务在 `dev` 任务之前运行

{"tasks": {"dev": {"cache": false,"persistent": true,"dependsOn": ["//#dev:setup"]},"//#dev:setup": {"outputs": [".codegen/**"]}}
}

在这个例子中,我们使用了 根任务,但你也可以将相同的想法用于 软件包中的任意任务。

运行特定应用程序

`--filter` 标志允许你选择你的 软件包图 的子集,以便你可以为特定的应用程序及其依赖项运行你的 `dev` 任务

turbo dev --filter=web

使用终端 UI

Turborepo 的终端 UI 启用了一些功能,这些功能围绕你的任务创建了高度交互的体验。

自定义你的视图

你可以使用快捷键快速调整 UI 以满足你的需求。

与任务交互

你的一些工具可能允许你向其中键入输入。例如 Drizzle ORM 的交互式迁移或 Jest 的测试套件的过滤和重新运行。

你可以与 标记为交互式 的任务进行交互,以便向它们提供输入。

persistent

将任务标记为 persistent 以防止其他任务依赖于长时间运行的进程。 默认情况下,持久任务是 交互式 的。

{"tasks": {"dev": {"persistent": true}}
}

由于长时间运行的进程不会退出,因此依赖于它的任务永远不会运行 一旦你将任务标记为持久,如果其他任务依赖于它,turbo 将抛出错误。

监听模式

许多工具都有内置的监听器,例如 `tsc --watch`,它们会对源代码中的更改做出响应。但是,有些工具没有。

`turbo watch` 为任何工具添加了一个依赖项感知的监听器。源代码的更改将遵循你在 `turbo.json` 中描述的 任务图,就像你的所有其他任务一样。

例如,使用像 `create-turbo` 这样的包结构,以及以下任务和脚本

{"tasks": {"dev": {"persistent": true,"cache": false},"lint": {"dependsOn": ["^lint"]}}
}

}

当你运行 `turbo watch dev lint` 时,你会看到每当你更改源代码时,`lint` 脚本都会重新运行,尽管 ESLint 没有内置监听器。`turbo watch` 也知道内部依赖关系,因此 `@repo/ui` 中的代码更改将重新运行 `@repo/ui` 和 `web` 中的任务。

`web` 中的 Next.js 开发服务器和 `@repo/ui` 中 TypeScript 编译器的内置监听器将继续像往常一样工作,因为它们被标记为 `persistent`。

watch

基于代码更改,重新运行仓库中的任务。

turbo watch [tasks]

turbo watch 具有依赖感知能力,意味着任务将按照 在 turbo.json 中配置的顺序 重新运行。

如果没有提供任务,turbo 将显示仓库中软件包可用的任务。、

turbo watch

将 turbo watch 与持久任务一起使用

持久任务标记为 "persistent": true,意味着它们不会退出。因此,它们不能在你的任务图中被依赖。

这意味着当使用 turbo watch 时,持久任务将被忽略,其工作方式与 turbo run 相同,允许同时运行持久任务和非持久任务。

依赖感知的持久任务

当你的脚本具有内置的监视器(如 next dev),能够检测依赖项中的更改时,你不需要使用 turbo watch。 相反,使用脚本的内置监视器并将任务标记为长时间运行,使用 "persistent": true。

没有依赖感知的持久任务

某些工具对 monorepo 不友好,并且不热重载依赖项中的模块。 在这些情况下,你应该将任务标记为 interruptible: true,以便在检测到相关更改时,turbo watch 重新启动任务。

turbo watch 监视你的包的更改并自动重新启动受影响的任务。 但是,如果任务是持久的,则默认情况下不会重新启动。 要启用重新启动持久任务,请将 interruptible 设置为 true

缓存

使用 Watch Mode 缓存任务目前是实验性的,在 --experimental-write-cache 标志下。

turbo watch your-tasks --experimental-write-cache

任务输出

如果你的任务写入检入到源代码控制的文件,则 Watch Mode 有可能进入无限循环。 这是因为 Watch Mode 监视你的文件更改,并将重新运行已更改软件包中的任务。 如果任务创建了更改,那么这将再次触发该任务。

Watch Mode 具有一些逻辑来防止这种情况发生,使用文件哈希,但这并非万无一失。 为了避免这个问题,我们建议从 git 中删除任何任务输出。 

局限性

清理任务

在某些情况下,你可能希望在 `dev` 任务停止时运行一个脚本。Turborepo 无法在退出时运行这些清理脚本,因为当你的 `dev` 任务退出时,`turbo` 也会退出。

相反,创建一个 `turbo dev:teardown` 脚本,在你退出主要的 `turbo dev` 任务后单独运行它。

http://www.dtcms.com/wzjs/434449.html

相关文章:

  • 网站建设合作协议媒体资源网
  • 如何做合作社网站怎样做一个网页
  • 圆通网页在线客服seo优化搜索推广
  • 微信公众号推文怎么做西安网站优化推广方案
  • 网络维护网站建设培训郑州百度搜索优化
  • 网站建设教程吧百度提交入口网址截图
  • 那个网站教做冰鲜鱼网络营销的方法有哪些?
  • 品牌网站建设 蝌蚪小7网页设计框架
  • 做网站跟桌面程序差别大吗南宁seo排名首页
  • 网站运营建设的培训班网站排名seo软件
  • 扬州做网站的网络公司h5下一页
  • asp网站vps搬家朋友圈推广广告
  • wordpress的按装方法做seo推广一年大概的费用
  • 淘宝推广平台有哪些广东宣布即时优化调整
  • 网络服务合同纠纷管辖权关系网站优化公司
  • 专业网站建设哪里好抖音账号权重查询入口
  • 网站推广岗位职责大数据营销成功案例
  • 保定网站建设服务网站关键词百度自然排名优化
  • 舟山网站建设优化搜索词
  • 企业网站的视频页如何做注册一个公司网站需要多少钱
  • 做网站高亮网站如何做推广
  • 网站通知模板广告推广的软件
  • 做网站分为几种武汉官网优化公司
  • 自己域名做网站南宁百度seo排名价格
  • 在哪个网站做兼职靠谱seo站内优化教程
  • 学习网站开发多少钱江苏网站建站系统哪家好
  • 河南微网站开发嵌入式培训班一般多少钱
  • 中文网页模板免费河北seo技术
  • 南通市经济开发区建设局网站西安百度关键词排名服务
  • 手机网站 搜索优化 百度放单平台