Rsbuild comes with a built-in dev server designed to improve the development experience. When you run the rsbuild dev
or rsbuild preview
commands, the server will start, providing features such as page preview, routing, and hot module reloading.
Rsbuild Server offers a set of default routing convention, and allows users to customize it through configurations.
Rsbuild Server will generate the corresponding page route based on the source.entry configuration.
When entry is index, the page can be accessed through /
; when entry is foo, the page can be accessed through /foo
.
By default, when the request meets the following conditions and the corresponding resource is not found, it will fallback to index.html
:
GET
or HEAD
requesttext/html
(the request header accept type is text/html
or */*
)When Rsbuild's default server.htmlFallback configuration cannot meet your needs, for example, if you want to be able to access main.html
when accessing /
, you can set it up using server.historyApiFallback.
Normally, /
points to the dist root directory, and the HTML file is output to the dist root directory. At this time, the corresponding HTML page can be accessed through /xxx
.
If you output HTML files to other subdirectories by modifying output.distPath.html, you need to access the corresponding HTML page through /htmlPath/xxx
.
For example, if you set the HTML file to be output to the HTML
directory, index.html will be accessed through /html/
, and foo.html will be accessed through /html/foo
.
Rsbuild dev server and the dev server of Rspack CLI (@rspack/dev-server
) share some similarities and differences:
Rsbuild applications cannot use Rspack's devServer config. You can configure the behavior of the server through Rsbuild's dev
and server
configs, see Config Overview for details.