LECP 不内置 workspace 功能,推荐使用成熟的 monorepo 管理工具:
LECP 通过 extends 配置支持配置文件的继承和复用,特别适用于 monorepo 项目中的配置管理。
在子项目的 lecp.config.ts 中继承基础配置:
import { defineConfig } from '@shined/lecp';
export default defineConfig({
extends: '../shared/lecp.base.config.ts',
// 子项目特定配置
format: [{ type: "esm" }]
});创建共享的基础配置文件:
// shared/lecp.base.config.ts
import { defineConfig } from '@shined/lecp';
export default defineConfig({
targets: { chrome: 55 },
dts: { mode: "bundless", builder: "swc" },
sourcemap: true,
alias: {
'@': './src'
},
react: {
jsxRuntime: "automatic"
}
});extends 配置支持多种路径格式:
../shared/lecp.config.ts - 相对于当前配置文件/path/to/config.ts - 文件系统绝对路径@company/lecp-config - 从 node_modules 加载monorepo/
├── packages/
│ ├── ui/
│ │ └── lecp.config.ts # extends: '../../shared/lecp.config.ts'
│ └── utils/
│ └── lecp.config.ts # extends: '../../shared/lecp.config.ts'
├── shared/
│ └── lecp.config.ts # 基础配置
└── package.json # pnpm workspaces 配置继承配置时遵循以下规则:
format)会完全替换,不会合并alias、define)会进行浅合并更多详细配置说明请参考 配置文档。