---
sidebar_label: swc
---

# tools.swc

- **类型：** `Object`
- **默认值：** `undefined`

## 介绍

import SWC from '@modern-js/builder-doc/docs/zh/shared/swc.md';

<SWC />

:::tip
在使用 Rspack 作为打包工具时，默认会使用 SWC 进行转译和压缩，因此你不需要再安装和配置 SWC 插件。
:::

## 安装

首先，你需要执行 `pnpm run new` 启用 SWC 编译：

```bash
? 请选择你想要的操作 启用可选功能
? 请选择功能名称 启用「SWC 编译」
```

执行完成后，你只需在 `modern.config.ts` 文件中注册 SWC 插件，即可启用 SWC 编译和压缩能力。

```ts title="modern.config.ts"
import appTools, { defineConfig } from '@modern-js/app-tools';
import swcPlugin from '@modern-js/plugin-swc';

export default defineConfig({
  plugins: [appTools(), swcPlugin()],
});
```

## 配置项

你可以通过 `tools.swc` 配置项来设置 SWC 编译行为。

```js title="modern.config.ts"
import { defineConfig } from '@modern-js/app-tools';

export default defineConfig({
  tools: {
    swc: {
      jsMinify: {
        compress: {},
        mangle: true,
      },
    },
  },
});
```

完整配置项请参考 [Modern.js Builder - SWC 插件配置](https://modernjs.dev/builder/plugins/plugin-swc.html#%E9%85%8D%E7%BD%AE)。
