swc

  • 类型: Object
  • 默认值: undefined

介绍

SWC (Speedy Web Compiler) 是基于 Rust 语言编写的高性能 JavaScript 和 TypeScript 转译和压缩工具。在 Polyfill 和语法降级方面可以和 Babel 提供一致的能力,并且比 Babel 性能高出 10 倍不止。

Modern.js 提供了开箱即用的 SWC 插件,可以为你的 Web 应用提供语法降级、Polyfill 以及压缩,并且移植了一些额外常见的 Babel 插件。

安装

使用前需要安装 @modern-js/plugin-swc 插件。

pnpm add @modern-js/plugin-swc -D

安装完成后,只需在 modern.config.ts 文件中注册 SWC 插件,即可启用 SWC 编译和压缩能力。

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 编译行为。

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

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

完整配置项请参考 Modern.js Builder - SWC 插件配置

,