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,
  },
};