diff --git a/docs/reference/plugin/plugins/layout.md b/docs/reference/plugin/plugins/layout.md index be8a079d..146c5fe2 100644 --- a/docs/reference/plugin/plugins/layout.md +++ b/docs/reference/plugin/plugins/layout.md @@ -56,21 +56,21 @@ export default { } ``` -如果只是不想展示`side`,则: +如果只是不想展示`sidebar`,则: ``` { "layout": { - "side": false + "sidebar": false } } ``` `layout`的可选配置有: -- **side**: 左侧区域 +- **sidebar**: 左侧区域,从v4.0.0开始,之前名称叫`side` -- **top**: 头部区域 +- **header**: 头部区域,,从v4.0.0开始,之前名称叫`top` - **logo**:logo和标题区域。 @@ -182,6 +182,15 @@ export default { - **name**:菜单的名称。通过匹配 `name` 和路由元信息 [meta](../../../guide/route.md#扩展路由元信息) 中的 `name`,把菜单和路由关联起来,然后使用路由元信息补充菜单配置,比如 `title`、`path` 等。 - **path**:菜单的路径,可配置第三方地址。 + + - **match**:额外匹配的路径,当前路由命中匹配规则时,此菜单高亮。 (v4.0.0+) + +``` +{ + path: '/product', + match: ['/product/*', '/product/create'] +} +``` - **title**:菜单的标题,如果同时使用[国际化插件](./locale.md),而且`title`的值以`$`开头,则使用`$`后面的内容去匹配语言设置。 diff --git a/docs/zh/reference/plugin/plugins/layout.md b/docs/zh/reference/plugin/plugins/layout.md index be8a079d..146c5fe2 100644 --- a/docs/zh/reference/plugin/plugins/layout.md +++ b/docs/zh/reference/plugin/plugins/layout.md @@ -56,21 +56,21 @@ export default { } ``` -如果只是不想展示`side`,则: +如果只是不想展示`sidebar`,则: ``` { "layout": { - "side": false + "sidebar": false } } ``` `layout`的可选配置有: -- **side**: 左侧区域 +- **sidebar**: 左侧区域,从v4.0.0开始,之前名称叫`side` -- **top**: 头部区域 +- **header**: 头部区域,,从v4.0.0开始,之前名称叫`top` - **logo**:logo和标题区域。 @@ -182,6 +182,15 @@ export default { - **name**:菜单的名称。通过匹配 `name` 和路由元信息 [meta](../../../guide/route.md#扩展路由元信息) 中的 `name`,把菜单和路由关联起来,然后使用路由元信息补充菜单配置,比如 `title`、`path` 等。 - **path**:菜单的路径,可配置第三方地址。 + + - **match**:额外匹配的路径,当前路由命中匹配规则时,此菜单高亮。 (v4.0.0+) + +``` +{ + path: '/product', + match: ['/product/*', '/product/create'] +} +``` - **title**:菜单的标题,如果同时使用[国际化插件](./locale.md),而且`title`的值以`$`开头,则使用`$`后面的内容去匹配语言设置。 diff --git a/packages/create-fes-app/package.json b/packages/create-fes-app/package.json index cd7f0c79..a579f10f 100644 --- a/packages/create-fes-app/package.json +++ b/packages/create-fes-app/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/create-fes-app", - "version": "2.1.1", + "version": "2.1.2", "description": "create a app base on fes.js", "main": "lib/index.js", "files": [ diff --git a/packages/create-fes-app/templates/app/h5/.npmrc b/packages/create-fes-app/templates/app/h5/.npmrc new file mode 100644 index 00000000..276285cd --- /dev/null +++ b/packages/create-fes-app/templates/app/h5/.npmrc @@ -0,0 +1 @@ +public-hoist-pattern[]=@babel/* \ No newline at end of file diff --git a/packages/create-fes-app/templates/app/h5/package.json b/packages/create-fes-app/templates/app/h5/package.json index d3693a1e..b3e4454d 100644 --- a/packages/create-fes-app/templates/app/h5/package.json +++ b/packages/create-fes-app/templates/app/h5/package.json @@ -48,7 +48,8 @@ "@fesjs/fes": "^2.0.0", "@fesjs/plugin-icon": "^2.0.0", "@fesjs/plugin-request": "^2.0.0", - "vue": "^3.2.6" + "vue": "^3.2.6", + "core-js": "^3.8.3" }, "private": true } \ No newline at end of file diff --git a/packages/create-fes-app/templates/app/pc/.fes.js b/packages/create-fes-app/templates/app/pc/.fes.js index 8ed730dd..07496fb8 100644 --- a/packages/create-fes-app/templates/app/pc/.fes.js +++ b/packages/create-fes-app/templates/app/pc/.fes.js @@ -12,6 +12,7 @@ export default { layout: { title: "Fes.js", footer: 'Created by MumbleFE', + navigation: 'mixin', multiTabs: false, menus: [{ name: 'index' diff --git a/packages/create-fes-app/templates/app/pc/.npmrc b/packages/create-fes-app/templates/app/pc/.npmrc new file mode 100644 index 00000000..276285cd --- /dev/null +++ b/packages/create-fes-app/templates/app/pc/.npmrc @@ -0,0 +1 @@ +public-hoist-pattern[]=@babel/* \ No newline at end of file diff --git a/packages/create-fes-app/templates/app/pc/package.json b/packages/create-fes-app/templates/app/pc/package.json index d3510602..6cfcba85 100644 --- a/packages/create-fes-app/templates/app/pc/package.json +++ b/packages/create-fes-app/templates/app/pc/package.json @@ -53,7 +53,8 @@ "@fesjs/plugin-model": "^2.0.0", "@fesjs/plugin-enums": "^2.0.0", "@fesjs/fes-design": "^0.1.10", - "vue": "^3.2.6" + "vue": "^3.2.6", + "core-js": "^3.8.3" }, "private": true } \ No newline at end of file diff --git a/packages/create-fes-app/templates/app/pc/src/global.less b/packages/create-fes-app/templates/app/pc/src/global.less new file mode 100644 index 00000000..17ec2261 --- /dev/null +++ b/packages/create-fes-app/templates/app/pc/src/global.less @@ -0,0 +1,3 @@ +body, html { + margin: 0; +} \ No newline at end of file diff --git a/packages/fes-plugin-layout/package.json b/packages/fes-plugin-layout/package.json index fd855508..fd3a40af 100644 --- a/packages/fes-plugin-layout/package.json +++ b/packages/fes-plugin-layout/package.json @@ -1,6 +1,6 @@ { "name": "@fesjs/plugin-layout", - "version": "3.0.0", + "version": "4.0.0", "description": "@fesjs/plugin-layout", "main": "lib/index.js", "files": [ diff --git a/packages/fes-plugin-layout/src/runtime/helpers/utils.js b/packages/fes-plugin-layout/src/runtime/helpers/utils.js new file mode 100644 index 00000000..e8b16aa7 --- /dev/null +++ b/packages/fes-plugin-layout/src/runtime/helpers/utils.js @@ -0,0 +1,9 @@ +export const flatNodes = (nodes = []) => nodes.reduce((res, node) => { + res.push(node); + if (node.children) { + res = res.concat( + flatNodes(node.children) + ); + } + return res; +}, []); diff --git a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue index 21f3bc9f..53a357db 100644 --- a/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue +++ b/packages/fes-plugin-layout/src/runtime/views/BaseLayout.vue @@ -2,7 +2,7 @@