server.printUrls
type Routes = Array<{
entryName: string;
pathname: string;
}>;
type PrintUrls =
| boolean
| ((params: {
urls: string[];
port: number;
routes: Routes;
protocol: string;
}) => string[] | void);
Whether to print the server's URLs.
By default, when you start the dev server or preview server, Rsbuild will print the following logs:
➜ Local: http://localhost:3000
➜ Network: http://192.168.0.1:3000
Custom Logging
server.printUrls
can be set to a function, with parameters including port
, protocol
, urls
and routes
.
Modify URL
If the printUrls
function returns an URLs array, Rsbuild prints these URLs to the terminal in the default format:
rsbuild.config.ts
export default {
server: {
printUrls({ urls }) {
return urls.map((url) => `${url}/base/`);
},
},
};
Output:
➜ Local: http://localhost:3000/base/
➜ Network: http://192.168.0.1:3000/base/
Fully Customizable
If the printUrls
function does not return a value, Rsbuild will not print the server's URL addresses. You can customize the log content based on the parameters and output it to the terminal yourself.
rsbuild.config.ts
export default {
server: {
printUrls({ urls, port, protocol }) {
console.log(urls); // ['http://localhost:3000', 'http://192.168.0.1:3000']
console.log(port); // 3000
console.log(protocol); // 'http' or 'https'
},
},
};
MPA Output
If the current project contains multiple pages, you can generate a separate URL for each page based on the routes
parameter.
For example, when the project contains two pages, index
and detail
, the content of the routes
would be:
rsbuild.config.ts
export default {
server: {
printUrls({ routes }) {
/**
* [
* { entryName: 'index', pathname: '/' },
* { entryName: 'detail', pathname: '/detail' }
* ]
*/
console.log(routes);
},
},
};
Disable Output
Setting server.printUrls
to false
will prevent Rsbuild from printing the server URLs.
rsbuild.config.ts
export default {
server: {
printUrls: false,
},
};
HTML Disabled
If tools.htmlPlugin is set to false
, Rsbuild will not generate HTML files or output the server URL.
However, you can still print the server URLs using the server.printUrls
function, which has a higher priority.
rsbuild.config.ts
export default {
tools: {
htmlPlugin: false,
},
server: {
printUrls: ({ port }) => [`http://localhost:${port}`],
},
};
Output:
➜ Local: http://localhost:3000