For AI agents: the complete documentation index is available at /next/zh/llms.txt, the full documentation bundle is available at /next/zh/llms-full.txt, and this page is available as Markdown at /next/zh/api/packages/rspeedy/interfaces/Minify.md.
Lynx
  • 简体中文
  • 接口: Minify

    Minify 用于配置是否在生产环境构建中启用代码压缩,或配置压缩器选项。

    属性

    backgroundOptions?

    optional backgroundOptions?: SwcJsMinimizerRspackPluginOptions

    为后台线程 bundle 覆盖 Rsbuild 的 output.minify.jsOptions。

    备注

    该选项会被深度合并到 output.minify.jsOptions 中。它主要与 ReactLynx 的双线程产物配合使用,使主线程和后台线程的 bundle 可以使用不同的压缩规则。

    默认值

    undefined

    css?

    optional css?: boolean

    是否启用 CSS 压缩。

    默认值

    当启用 output.minify 且未设置 css 时,默认为 true。

    备注

    在生产环境构建时,会使用 @rsbuild/plugin-css-minimizer 压缩 CSS 资源,以提升传输效率。

    示例

    • 禁用 CSS 压缩。
    import { defineConfig } from '@lynx-js/rspeedy'
    
    export default defineConfig({
      output: {
        minify: {
          css: false,
        },
      },
    })

    js?

    optional js?: boolean

    是否启用 JavaScript 压缩。

    默认值

    当启用 output.minify 且未设置 js 时,默认为 true。

    示例

    • 禁用 JavaScript 压缩。
    import { defineConfig } from '@lynx-js/rspeedy'
    
    export default defineConfig({
      output: {
        minify: {
          js: false,
        },
      },
    })

    jsOptions?

    optional jsOptions?: SwcJsMinimizerRspackPluginOptions

    Minify.jsOptions 用于配置 SWC 的压缩选项。

    默认值

    当启用 JavaScript 压缩且未设置 jsOptions 时,默认为 {}。

    备注

    详细配置请参考 SwcJsMinimizerRspackPlugin。

    示例

    • 禁用 mangle 功能。
    import { defineConfig } from '@lynx-js/rspeedy'
    
    export default defineConfig({
      output: {
        minify: {
          jsOptions: {
            minimizerOptions: {
              mangle: false,
            },
          },
        },
      },
    })

    mainThreadOptions?

    optional mainThreadOptions?: SwcJsMinimizerRspackPluginOptions

    为主线程 bundle 覆盖 Rsbuild 的 output.minify.jsOptions。

    备注

    该选项会被深度合并到 output.minify.jsOptions 中。它主要与 ReactLynx 的双线程产物配合使用,使主线程和后台线程的 bundle 可以使用不同的压缩规则。

    默认值

    undefined

    示例

    import { defineConfig } from '@lynx-js/rspeedy'
    
    export default defineConfig({
      output: {
        minify: {
          jsOptions: {
            minimizerOptions: {
              compress: {
                pure_funcs: ['console.log'],
              },
            },
          },
          mainThreadOptions: {
            minimizerOptions: {
              compress: {
                pure_funcs: ['NativeModules.call', 'lynx.getJSModule'],
              },
            },
          },
        },
      },
    })
    除非另有说明,本项目采用知识共享署名 4.0 国际许可协议进行许可,代码示例采用 Apache License 2.0 许可协议进行许可。