1、在项目monorepo下执行
pnpm init:得到初始化package.json
2、创建pnpm-workspace.yaml配置:
packages:
- 'packages/*' # 排除公共组代码
- 'apps/*' # 排除子包代码
- '!** /node_modules' #排除指定的目录
3、在monorepo下执行创建子项目:
pnpm create vite
4、配置package.json,启动子项目apps/h5-main和apps/web-main
private: true //注册组件的主要步骤
"scripts": {
"dev:h5": "pnpm run -C apps/h5-main dev",
"dev:web": "pnpm run -C apps/web-main dev",
"build:h5": "pnpm run -C apps/h5-main build",
"build:web": "pnpm run -C apps/web-main build"
},
5、配置子项目
package.js
name:"h5-main" //子项目名称
type:"module" //指定子项目类型module
vite.config.js:正常启动但是打开浏览器无法
server: { port: 8081, host: '0.0.0.0', open: true, },
6、安装依赖包 安装指令 -w
pnpm add lodash -w //安装依赖到monorepo根目录
创建公共组件和模块/ui:monorepo目录下创建packages/libs-shared、packages/ui-components
进入到libs-shared目录下执行pnpm init,打开package.json修改属性如下
"name":"@libs/shared",
"main":"src/index.js"
pnpm add @libs/shared@workspace:* -w
concurrently 使用
pnpm add concurrently -w //monorepo根目录的package.json需要使用-w标识
"dev:all": "concurrently \"pnpm run -C apps/h5-main dev\" \"pnpm run -C apps/web-main dev\"" //启动多个子项目