开发服务器

Rspack CLI 内置了 @rspack/dev-server 用于开发调试,它的能力与 webpack-dev-server 相似,内置了 HMR、代理服务器等功能。

TIP

@rspack/dev-server 中使用了 webpack-dev-server@5 ,与 webpack-dev-server@4 有一些差异。

HMR

Rspack 在 dev 模式下默认开启了 HMR,你也可以在 rspack.config.js 中配置 devServer.hot 选项来关闭 HMR。

  1. module.exports = {
  2. devServer: {
  3. hot: false,
  4. },
  5. };

⚠️ 警告

不要在 output.cssFilename 包含 [hash] 或者 [contenthash],否则 CSS 的 HMR 可能会不生效。

Proxy

Rspack 内置了一个简单的代理服务器,你可以在 rspack.config.js 中配置 devServer.proxy 选项来开启代理服务器。devServer 内部使用了 http-proxy-middleware 来实现代理功能。例如我们可以通过如下方式将 /api 代理到 http://localhost:3000

  1. module.exports = {
  2. devServer: {
  3. proxy: [
  4. {
  5. context: ['/api'],
  6. target: 'http://localhost:3000',
  7. changeOrigin: true,
  8. },
  9. ],
  10. },
  11. };

更多关于 devServer 的配置项请参考 devServer