Rsbuild 配备了一个内置的开发服务器,旨在提升开发体验。当你执行 rsbuild dev
或 rsbuild preview
命令时,该服务器将启动,并提供页面预览、路由、模块热更新等功能。
Rsbuild 的 Server 提供一套默认的路由约定,并允许用户通过配置项定制。
Rsbuild Server 会根据 source.entry 配置生成对应的页面路由。
当 entry 为 index 时,可通过 /
访问页面;当 entry 为 foo 时,可通过 /foo
访问该页面。
当请求满足以下条件且未找到对应资源时,会被 server.htmlFallback
处理,默认会回退到 index.html。
text/html
(请求头 accept 类型为 text/html
或 */*
)当 Rsbuild 默认的 server.htmlFallback 配置无法满足你的需求,例如,希望在访问 /
时可以访问 main.html
,可通过 server.historyApiFallback 进行设置。
通常情况下,/
指向 dist 产物根目录, 而 HTML 文件输出到 dist 根目录下,此时可通过 /xxx
访问对应的 HTML 页面。
若通过修改 output.distPath.html 将 HTML 文件输出到其他子目录下,此时需通过 /[htmlPath]/xxx
访问对应的 HTML 页面。
例如,设置将 HTML 文件输出到 HTML
目录下,此时将通过 /html/
访问到 index.html,通过 /html/foo
访问到 foo.html。
Rsbuild 的开发服务器与 Rspack CLI 的开发服务器(@rspack/dev-server
)有一些异同: