> For AI agents: the complete documentation index is available at /zh/llms.txt, the full documentation bundle is available at /zh/llms-full.txt.

# 开发服务器

`rspack dev` 和 `rspack serve` 命令会通过 [@rspack/dev-server](https://npmjs.com/package/@rspack/dev-server) 启动本地开发服务器。它提供热模块替换（HMR）、静态文件服务、代理等开发能力。

## 安装 dev server

`@rspack/dev-server` 是 `@rspack/cli` 的可选 peer dependency。

使用 `rspack dev`、`rspack serve` 或 `rspack preview` 前，请先安装：


```sh [npm]
npm add @rspack/dev-server -D
```

```sh [yarn]
yarn add @rspack/dev-server -D
```

```sh [pnpm]
pnpm add @rspack/dev-server -D
```

```sh [bun]
bun add @rspack/dev-server -D
```

```sh [deno]
deno add npm:@rspack/dev-server -D
```

## HMR

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

```js title="rspack.config.mjs"
export default {
  devServer: {
    hot: false,
  },
};
```

:::warning
不要在 [output.cssFilename](/zh/config/output.md#outputcssfilename) 中包含 `[hash]` 或者 `[contenthash]`，否则 CSS 的 HMR 可能会不生效。
:::

## Proxy

开发服务器内置代理能力。你可以在 Rspack 配置中添加 `devServer.proxy` 选项来代理匹配的请求。该功能基于 [http-proxy-middleware](https://github.com/chimurai/http-proxy-middleware) 实现。例如我们可以通过如下方式将 `/api` 代理到 `http://localhost:3000`。

```js title="rspack.config.mjs"
export default {
  devServer: {
    proxy: [
      {
        context: ['/api'],
        target: 'http://localhost:3000',
        changeOrigin: true,
      },
    ],
  },
};
```

更多关于 devServer 的配置项请参考 [devServer](/zh/config/dev-server.md)。
