-
Notifications
You must be signed in to change notification settings - Fork 75
Open
Labels
Description
背景
支持 monorepo 的 watch 能力
方案
方案一:@ice/pkg 支持 monorepo 能力
- 使用
@ice/pkg 遵从 workspace 设计。即 root 目录 package.json 字段 workspace 作为标记所有子包。
"workspaces": [
"packages/*"
],亦可通过 --workspace 命令行参数指定:
# 读取 package.json workspace 字段
$ @ice/pkg build --workspace
$ @ice/pkg start --workspace
# 单独指定
$ @ice/pkg start --workspace=packages/a,packages/b- 配置
若 root 存在配置文件,则以该配置文件为准;若子仓库下存在配置文件,则以可覆盖 root 下配置文件。
- 拓扑结构
支持依赖拓扑结构进行构建
方案二:@ice/pkg 不提供 monorepo 能力,改由其他支持 monorepo 的工具,以 pnpm 为例:
{
"scripts": {
"start": "pnpm -r --filter ./packages run start"
}
}这种方案的问题主要有:
