Search Docs
Gez 是完全基于 Rspack 打包,同时也就继承了 Rspack 的全部优势。由于 Gez 的定位是一个基础设施,所以大多数的时候,你都需要根据自己的业务来配置自己的打包逻辑。
在默认的情况下,内置了一些基本的打包规则,但是你可以完全重写它。
import type { BuildTarget, Gez } from '@gez/core'; import type { RuleSetRules, SwcLoaderOptions } from '@gez/rspack'; export default { async createDevApp(gez) { return import('@gez/rspack').then((m) => m.createApp(gez, (buildContext) => { // buildContext.config Rspack 的配置 // buildContext.target 构建的目标,分别是:'node' | 'client' | 'server' // buildContext.gez 传入的 gez 对象 buildContext.config.module = { ...buildContext.config.module, rules: [ // 如果需要继承,则加上这句,否则删除 ...buildContext.config.module?.rules ?? [], // 你自定义的打包规则 ] } }) ); } }
建议单独抽离一个 entry.rspack.ts 文件来实现 createDevApp 的逻辑,然后再动态导入使用。
entry.rspack.ts
createDevApp
@gez/rspack 要使用 import type,避免被打包到生产代码中。
@gez/rspack