分包配置
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(默认)分包内所有页面/组件pages仅pages/**components仅components/**
include/exclude用于精确匹配(基于分包 root 的相对路径)。
更多分包实践与产物示例,请阅读 分包指南。