# 新增主框架
# 复制现有vue主框架(添加一个main-oa主框架为例)
1、在根目录下复制main
主框架重命名为main-oa
。
2、在/package.json
中的scripts中添加以下命令:
"scripts": {
"serve:main-oa": "pnpm run -C main-oa serve",
"build:main-oa": "pnpm run -C main-oa build",
},
1
2
3
4
2
3
4
3、在/package.json
的workspaces
参数下追加框架目录名main-oa
4、在/pnpm-workspace.yaml
的packages
下追加框架目录名main-oa
5、在/scripts/config/index.ts
中添加如下配置:
// 在主框架配置中追加
export const mainProjectConfig: Record<string, MainProjectConfigItem> = {
'main-oa': {
buildChildParentName: process.env.MICRO_BUILD_CHILD_NAME,
rootDir: 'main-oa',
outputDir: 'dist',
serveRun: 'serve:main-oa',
buildRun: 'build:main-oa',
subproject: [ // 此框架需要的子项目
'system',
'article',
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
6、修改新主框架入口文件 /main-oa/src/main.ts
:
- const Apps = childProjectAll('main',{parentRouter: router, parentStore: store});
// 上面替换为下面
+ const Apps = childProjectAll('main-oa',{parentRouter: router, parentStore: store});
1
2
3
2
3
7、在新主框架main-oa/src/layouts/QiankunLayout/routes.ts
中增删路由,如:
const QiankunLayoutRoutes: Array<RoutesDataItem> = [
{
icon: 'menu-links',
title: 'qiankun-layout.menu.links',
path: '/links',
redirect: '/links/list',
roles: ['links'],
component: BlankLayout,
children: [
{
title: 'qiankun-layout.menu.links.list',
path: 'list',
roles: ['links-list'],
component: QianKunStartScreen
},
]
},
]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
8、运行测试