跳到主要内容

DevServer 和 HMR

Farm默认在 development 环境中提供 DevServer 并启用了 HMR

配置 Dev Server

Farm提供了许多有用的选项来配置开发服务器。所有的DevServer选项都是通过server配置的。

备注

如果你正在为Farm开发工具,请参考Javascript API然后以编程方式创建开发服务器。

Dev Server 中间件

你可以使用 middlewares 来处理开发服务器的请求。例如:

farm.config.ts

在上述示例中,Farm中间件是一个暴露 Koa Middleware 的函数。常见的Koa中间件可以直接使用,例如:

Hot Module Replacement(HMR)

Farm提供了一个与 兼容 Vite 的HMR API。如果你是框架作者,可以利用这个 API 来更新你的应用实例,而无需重新加载页面。

HMR API允许你在应用运行时接收模块的更新,并应用这些更新,而无需重新加载整个页面。这可以极大地提高开发效率,因为它允许你在不丢失应用状态的情况下看到代码更改的效果。

  • 对于React,官方插件 @farmfe/plugin-react会自动启用 HMR。
  • 对于Vue、Solid等框架,它们的插件如 @vitejs/plugin-vuevite-plugin-solid 等都支持HMR。

Farm提供了官方模板,这些模板已经设置好了所有这些能力,你可以通过create-farm创建应用,然后所有的HMR能力就可用了。

备注
  • 对于应用用户,HMR通常是开箱即用的,如果你需要自定义HMR行为,可以参考 兼容 Vite 的 HMR API
  • 如果你是框架作者,可以参考 HMR选项 来配置HMR。
Extremely Fast Web Build Tool Written in Rust

Copyright © 2024 Farm Community. Built with Docusaurus.