Skip to content

分包配置

weapp-vite 会读取 app.json.subPackages 来生成分包产物;weapp.subPackages 则用于 构建期补充配置(独立分包、inlineConfig、自动导入组件覆盖、共享样式等)。 weapp.subPackages 本身不再负责 npm 依赖裁剪;这部分能力已收敛到 weapp.npm.mainPackage / weapp.npm.subPackages

weapp.subPackages

  • 类型
    ts
    Record<string, {
      independent?: boolean
      inlineConfig?: Partial<InlineConfig>
      autoImportComponents?: AutoImportComponents | false
      watchSharedStyles?: boolean
      styles?: SubPackageStyleConfigEntry | SubPackageStyleConfigEntry[]
    }>
  • 默认值undefined

示例:

ts
import { defineConfig } from 'weapp-vite/config'

export default defineConfig({
  weapp: {
    subPackages: {
      marketing: {
        independent: true,
        autoImportComponents: false,
        styles: [
          'styles/shared.wxss',
          { source: 'styles/pages.wxss', scope: 'pages' },
        ],
      },
    },
  },
})

字段说明

  • independent:启用 独立分包构建上下文。常与 app.json 中的 independent: true 搭配使用。
  • inlineConfig:为该分包注入额外 Vite 配置(Rolldown/Rollup 插件、define 等)。
  • autoImportComponents:为该分包单独配置/禁用自动导入。
  • watchSharedStyles:分包文件变更时是否强制重新生成共享样式(默认 true)。
  • styles:分包共享样式入口,详见下文。

NOTE

weapp.subPackages 的 key 必须与 app.json.subPackages[].root 对应,否则不会生效。

TIP

若你想控制某个分包的 npm 依赖落位,请到 npm 配置 使用 weapp.npm.subPackages.<root>.dependencies,而不是写在 weapp.subPackages 里。

TIP

当你开启 weapp.autoRoutes 时,weapp.subPackages 还有另一层作用:它会告诉自动路由“哪些 root 应按分包页面目录处理”。默认规则下,自动路由只会扫描 srcRoot/pages/** 与这些已声明 root 下的 pages/**

subPackages.*.styles

类型string | SubPackageStyleConfigObject | (string | SubPackageStyleConfigObject)[]

SubPackageStyleConfigObject 结构:

ts
{
  source: string
  scope?: 'all' | 'pages' | 'components'
  include?: string | string[]
  exclude?: string | string[]
}

说明:

  • source 支持 相对分包 root / 相对 srcRoot / 绝对路径
  • scope 提供快捷范围:
    • all(默认)分包内所有页面/组件
    • pagespages/**
    • componentscomponents/**
  • include/exclude 用于精确匹配(基于分包 root 的相对路径)。

更多分包实践与产物示例,请阅读 分包指南

Released under the MIT License.