mirror of
https://gitee.com/baidu/amis.git
synced 2024-11-29 18:48:45 +08:00
fix: 修复sdk导出报错问题 (#6120)
Co-authored-by: wanglinfang <wanglinfang@baidu.com>
This commit is contained in:
parent
5576034ab4
commit
ee27cade47
@ -1,74 +0,0 @@
|
|||||||
<!DOCTYPE html>
|
|
||||||
<html lang="zh">
|
|
||||||
<head>
|
|
||||||
<meta charset="UTF-8" />
|
|
||||||
<title>导航示例</title>
|
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
||||||
<link
|
|
||||||
type="image/x-icon"
|
|
||||||
rel="shortcut icon"
|
|
||||||
href="../static/favicon.png"
|
|
||||||
/>
|
|
||||||
<meta
|
|
||||||
name="viewport"
|
|
||||||
content="width=device-width, initial-scale=1, maximum-scale=1"
|
|
||||||
/>
|
|
||||||
<meta http-equiv="X-UA-Compatible" content="IE=Edge" />
|
|
||||||
<link rel="stylesheet" href="../static/iconfont.css" />
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../../node_modules/@fortawesome/fontawesome-free/css/all.css"
|
|
||||||
/>
|
|
||||||
<link
|
|
||||||
rel="stylesheet"
|
|
||||||
href="../../node_modules/@fortawesome/fontawesome-free/css/v4-shims.css"
|
|
||||||
/>
|
|
||||||
<style>
|
|
||||||
.app-wrapper,
|
|
||||||
.schema-wrapper {
|
|
||||||
position: relative;
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
.cxd-Layout-asideWrap {
|
|
||||||
background: #fff;
|
|
||||||
}
|
|
||||||
.cxd-Layout .cxd-Layout-header {
|
|
||||||
padding-left: 180px;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<script type="module">
|
|
||||||
let theme = localStorage.getItem('amis-theme') || 'cxd';
|
|
||||||
if (theme === 'default') {
|
|
||||||
theme = 'cxd';
|
|
||||||
}
|
|
||||||
|
|
||||||
['ang', 'cxd', 'dark', 'antd'].forEach(key => {
|
|
||||||
const link = document.createElement('link');
|
|
||||||
link.setAttribute('rel', 'stylesheet');
|
|
||||||
link.setAttribute('title', key);
|
|
||||||
if (theme !== key) {
|
|
||||||
link.setAttribute('disabled', 'disabled');
|
|
||||||
}
|
|
||||||
link.setAttribute(
|
|
||||||
'href',
|
|
||||||
new URL(
|
|
||||||
`../../packages/amis-ui/scss/themes/${key}.scss`,
|
|
||||||
import.meta.url
|
|
||||||
).href
|
|
||||||
);
|
|
||||||
document.head.appendChild(link);
|
|
||||||
});
|
|
||||||
</script>
|
|
||||||
<link rel="stylesheet" href="../../packages/amis-ui/scss/helper.scss" />
|
|
||||||
</head>
|
|
||||||
|
|
||||||
<body>
|
|
||||||
<div id="root" class="app-wrapper"></div>
|
|
||||||
<script type="module">
|
|
||||||
import {bootstrap} from './index.tsx';
|
|
||||||
const initialState = {};
|
|
||||||
bootstrap(document.getElementById('root'), initialState);
|
|
||||||
</script>
|
|
||||||
</body>
|
|
||||||
</html>
|
|
@ -1,620 +0,0 @@
|
|||||||
/**
|
|
||||||
* @file 导航示例
|
|
||||||
*/
|
|
||||||
|
|
||||||
import React from 'react';
|
|
||||||
import {withRouter} from 'react-router';
|
|
||||||
import {HashRouter as Router, Route, Switch} from 'react-router-dom';
|
|
||||||
import {createRoot} from 'react-dom/client';
|
|
||||||
import {Layout, NotFound, Spinner, render} from 'amis';
|
|
||||||
|
|
||||||
// const schema = [
|
|
||||||
// {
|
|
||||||
// label: 'Nav 1',
|
|
||||||
// to: '#/',
|
|
||||||
// activeOn:
|
|
||||||
// 'data.pathname === "/" || data.pathname === "/test1" || data.pathname === "/test3"',
|
|
||||||
// children: [
|
|
||||||
// {
|
|
||||||
// label: 'Nav 1-1',
|
|
||||||
// to: '#/'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: 'Nav 1-2',
|
|
||||||
// children: [
|
|
||||||
// {
|
|
||||||
// label: 'Nav 1-2-1',
|
|
||||||
// to: '#/test3'
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: 'Nav 1-2-2',
|
|
||||||
// to: '#/test1'
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// },
|
|
||||||
// {
|
|
||||||
// label: 'Nav 2',
|
|
||||||
// to: '#/test2',
|
|
||||||
// children: [
|
|
||||||
// {
|
|
||||||
// label: 'Nav 2-1',
|
|
||||||
// to: '#/test2'
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
// ];
|
|
||||||
|
|
||||||
const schema = [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: {
|
|
||||||
type: 'tpl',
|
|
||||||
tpl: 'Nav1-1'
|
|
||||||
},
|
|
||||||
to: '#/',
|
|
||||||
icon: [
|
|
||||||
{
|
|
||||||
icon: 'https://suda.cdn.bcebos.com/images%2F2021-01%2Fdiamond.svg',
|
|
||||||
position: 'before'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fa fa-user',
|
|
||||||
position: 'after'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2',
|
|
||||||
to: '#/test1',
|
|
||||||
customText: 'HOT',
|
|
||||||
customLevel: 'danger',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1',
|
|
||||||
to: '#/test4',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1-1',
|
|
||||||
to: '#/test5'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1-1',
|
|
||||||
to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
const schema2 = [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
to: '#/',
|
|
||||||
icon: 'fa fa-user'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3',
|
|
||||||
disabled: true,
|
|
||||||
disabledTip: '禁用提示文案'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
const schema3 = [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
to: '#/',
|
|
||||||
icon: 'fa fa-user',
|
|
||||||
disabled: true,
|
|
||||||
disabledTip: '禁用提示文案'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3',
|
|
||||||
disabled: true,
|
|
||||||
disabledTip: '禁用提示文案'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
];
|
|
||||||
|
|
||||||
@withRouter // @ts-ignore
|
|
||||||
export class App extends React.PureComponent<{
|
|
||||||
location: Location;
|
|
||||||
}> {
|
|
||||||
renderHeader() {
|
|
||||||
const {location} = this.props;
|
|
||||||
|
|
||||||
// return (
|
|
||||||
// <div>
|
|
||||||
// {render(
|
|
||||||
// {
|
|
||||||
// type: 'nav',
|
|
||||||
// links: schema
|
|
||||||
// level: 1,
|
|
||||||
// onEvent: {
|
|
||||||
// change: {
|
|
||||||
// actions: [
|
|
||||||
// {
|
|
||||||
// actionType: 'updateItems',
|
|
||||||
// componentId: 'asideNav',
|
|
||||||
// args: {
|
|
||||||
// value: '${activeItems}'
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// ]
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// },
|
|
||||||
// {location}
|
|
||||||
// )}
|
|
||||||
// </div>
|
|
||||||
// );
|
|
||||||
}
|
|
||||||
|
|
||||||
renderAsideNav() {
|
|
||||||
const {location} = this.props;
|
|
||||||
// return (
|
|
||||||
// <div>
|
|
||||||
// {render(
|
|
||||||
// {
|
|
||||||
// type: 'nav',
|
|
||||||
// id: 'asideNav',
|
|
||||||
// stacked: true,
|
|
||||||
// links: schema
|
|
||||||
// },
|
|
||||||
// {location}
|
|
||||||
// )}
|
|
||||||
// </div>
|
|
||||||
// );
|
|
||||||
const active =
|
|
||||||
location.pathname === '/test2' || location.pathname === '/test3'
|
|
||||||
? 'Nav2'
|
|
||||||
: 'Nav1';
|
|
||||||
|
|
||||||
return (
|
|
||||||
<div>
|
|
||||||
{/* <div style={{marginBottom: '20px'}}>
|
|
||||||
{render(
|
|
||||||
{
|
|
||||||
type: 'select',
|
|
||||||
name: 'type',
|
|
||||||
value: '${active}',
|
|
||||||
options: [
|
|
||||||
{
|
|
||||||
label: '共享版',
|
|
||||||
value: 'Nav1' // 对应一级label
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: '企业版',
|
|
||||||
value: 'Nav2'
|
|
||||||
}
|
|
||||||
],
|
|
||||||
onEvent: {
|
|
||||||
change: {
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
actionType: 'updateItems',
|
|
||||||
componentId: 'asideNav',
|
|
||||||
args: {
|
|
||||||
value: '${value}'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{data: {active}}
|
|
||||||
)}
|
|
||||||
</div> */}
|
|
||||||
<div>
|
|
||||||
{render(
|
|
||||||
{
|
|
||||||
type: 'nav',
|
|
||||||
id: 'asideNav',
|
|
||||||
stacked: true,
|
|
||||||
// showKey: '${active}',
|
|
||||||
// links: schema
|
|
||||||
source: '${schema}',
|
|
||||||
itemBadge: {
|
|
||||||
mode: 'ribbon',
|
|
||||||
text: '${customText}',
|
|
||||||
position: 'top-left',
|
|
||||||
visibleOn: 'this.customText',
|
|
||||||
level: '${customLevel}'
|
|
||||||
},
|
|
||||||
itemActions: [
|
|
||||||
{
|
|
||||||
type: 'icon',
|
|
||||||
icon: 'cloud',
|
|
||||||
visibleOn: "this.label === 'Nav 1-2'"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'dropdown-button',
|
|
||||||
level: 'link',
|
|
||||||
icon: 'fa fa-ellipsis-h',
|
|
||||||
hideCaret: true,
|
|
||||||
buttons: [
|
|
||||||
{
|
|
||||||
type: 'button',
|
|
||||||
label: '编辑'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
type: 'button',
|
|
||||||
label: '删除'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{data: {schema, active}, location}
|
|
||||||
)}
|
|
||||||
{/* {render(
|
|
||||||
{
|
|
||||||
type: 'nav',
|
|
||||||
id: 'asideNav2',
|
|
||||||
stacked: true,
|
|
||||||
source: '${schema2}',
|
|
||||||
collapsed: true,
|
|
||||||
onEvent: {
|
|
||||||
collapsed: {
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
actionType: 'toast',
|
|
||||||
args: {
|
|
||||||
msgType: 'info',
|
|
||||||
msg: '是否展开${collapsed}'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{data: {schema2}, location}
|
|
||||||
)}
|
|
||||||
{render({
|
|
||||||
type: 'button',
|
|
||||||
label: '展开/收起',
|
|
||||||
onEvent: {
|
|
||||||
click: {
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
actionType: 'collapse',
|
|
||||||
componentId: 'asideNav2'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})}
|
|
||||||
{render(
|
|
||||||
{
|
|
||||||
type: 'nav',
|
|
||||||
id: 'asideNav3',
|
|
||||||
stacked: true,
|
|
||||||
source: '${schema3}',
|
|
||||||
mode: 'float'
|
|
||||||
},
|
|
||||||
{data: {schema3}, location}
|
|
||||||
)} */}
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
render() {
|
|
||||||
return (
|
|
||||||
<Layout header={this.renderHeader()} aside={this.renderAsideNav()}>
|
|
||||||
<React.Suspense
|
|
||||||
fallback={<Spinner overlay spinnerClassName="m-t-lg" size="lg" />}
|
|
||||||
>
|
|
||||||
<Switch>
|
|
||||||
<Route
|
|
||||||
path="/"
|
|
||||||
exact
|
|
||||||
render={(props: any) => (
|
|
||||||
<div>
|
|
||||||
{render({
|
|
||||||
type: 'page',
|
|
||||||
body: '这是一个首页',
|
|
||||||
data: {
|
|
||||||
active: 'Nav1'
|
|
||||||
}
|
|
||||||
})}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
path="/test1"
|
|
||||||
render={(props: any) => <div>测试测试1</div>}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
path="/test2"
|
|
||||||
render={(props: any) => (
|
|
||||||
<div style={{padding: '20px'}}>
|
|
||||||
{render({
|
|
||||||
type: 'nav',
|
|
||||||
stacked: true,
|
|
||||||
expandPosition: 'after',
|
|
||||||
links: [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
to: '#/'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
overflow: {
|
|
||||||
enable: true
|
|
||||||
},
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-3',
|
|
||||||
to: '#/test1'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-4',
|
|
||||||
to: '#/test4'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-5',
|
|
||||||
to: '#/test5'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
})}
|
|
||||||
{render(
|
|
||||||
{
|
|
||||||
type: 'nav',
|
|
||||||
id: 'asideNav',
|
|
||||||
stacked: true,
|
|
||||||
links: [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: {
|
|
||||||
type: 'tpl',
|
|
||||||
tpl: 'Nav1-1'
|
|
||||||
},
|
|
||||||
to: '#/',
|
|
||||||
icon: [
|
|
||||||
{
|
|
||||||
icon: 'https://suda.cdn.bcebos.com/images%2F2021-01%2Fdiamond.svg',
|
|
||||||
position: 'before'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fa fa-user',
|
|
||||||
position: 'after'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2',
|
|
||||||
to: '#/test1',
|
|
||||||
customText: 'HOT',
|
|
||||||
customLevel: 'danger',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1',
|
|
||||||
to: '#/test4',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1-1',
|
|
||||||
to: '#/test5'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav3',
|
|
||||||
to: '#/test4',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2'
|
|
||||||
// to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
accordion: true,
|
|
||||||
onEvent: {
|
|
||||||
click: {
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
actionType: 'toast',
|
|
||||||
args: {
|
|
||||||
msgType: 'info',
|
|
||||||
msg: '节点label${item.label}'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
toggled: {
|
|
||||||
actions: [
|
|
||||||
{
|
|
||||||
actionType: 'toast',
|
|
||||||
args: {
|
|
||||||
msgType: 'info',
|
|
||||||
msg: '是否展开${open}'
|
|
||||||
}
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
{data: {schema}}
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
path="/test3"
|
|
||||||
render={(props: any) => (
|
|
||||||
<div>
|
|
||||||
{render(
|
|
||||||
{
|
|
||||||
type: 'nav',
|
|
||||||
id: 'asideNav',
|
|
||||||
stacked: true,
|
|
||||||
draggable: true,
|
|
||||||
links: [
|
|
||||||
{
|
|
||||||
label: 'Nav1',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: {
|
|
||||||
type: 'tpl',
|
|
||||||
tpl: 'Nav1-1'
|
|
||||||
},
|
|
||||||
to: '#/',
|
|
||||||
icon: [
|
|
||||||
{
|
|
||||||
icon: 'https://suda.cdn.bcebos.com/images%2F2021-01%2Fdiamond.svg',
|
|
||||||
position: 'before'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
icon: 'fa fa-user',
|
|
||||||
position: 'after'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2',
|
|
||||||
to: '#/test1',
|
|
||||||
customText: 'HOT',
|
|
||||||
customLevel: 'danger',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1',
|
|
||||||
to: '#/test4',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 1-2-1-1',
|
|
||||||
to: '#/test5'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav2',
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
label: 'Nav 2-1',
|
|
||||||
to: '#/test2'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 2-2',
|
|
||||||
to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav3',
|
|
||||||
to: '#/test4'
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Nav 4',
|
|
||||||
to: '#/test3'
|
|
||||||
}
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{data: {schema}}
|
|
||||||
)}
|
|
||||||
</div>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
path="/test4"
|
|
||||||
render={(props: any) => (
|
|
||||||
<div>测试测试测试测试测试测试测试测试4444444</div>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
<Route
|
|
||||||
path="/test5"
|
|
||||||
render={(props: any) => (
|
|
||||||
<div>测试测试测试测试测试测试测试aaaaaa5555</div>
|
|
||||||
)}
|
|
||||||
/>
|
|
||||||
</Switch>
|
|
||||||
</React.Suspense>
|
|
||||||
</Layout>
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export function bootstrap(mountTo: Element | DocumentFragment) {
|
|
||||||
const root = createRoot(mountTo);
|
|
||||||
root.render(
|
|
||||||
<Router>
|
|
||||||
<Switch>
|
|
||||||
<Route component={App}></Route>
|
|
||||||
<Route component={NotFound} />
|
|
||||||
</Switch>
|
|
||||||
</Router>
|
|
||||||
);
|
|
||||||
}
|
|
@ -52,25 +52,6 @@ export default function mockApiPlugin(options: {} = {}): Plugin {
|
|||||||
res.end(template);
|
res.end(template);
|
||||||
});
|
});
|
||||||
|
|
||||||
// 处理 导航示例
|
|
||||||
server.middlewares.use('/examples/nav/', async (req, res, next) => {
|
|
||||||
if (req.originalUrl !== '/examples/nav/') {
|
|
||||||
next();
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let template = fs.readFileSync(
|
|
||||||
path.resolve(__dirname, '../examples/nav/index-vite.html'),
|
|
||||||
'utf-8'
|
|
||||||
);
|
|
||||||
template = await server.transformIndexHtml(
|
|
||||||
'/examples/nav/index-vite.html',
|
|
||||||
template
|
|
||||||
);
|
|
||||||
res.statusCode = 200;
|
|
||||||
res.end(template);
|
|
||||||
});
|
|
||||||
|
|
||||||
server.middlewares.use('/schema.json', (req, res, next) => {
|
server.middlewares.use('/schema.json', (req, res, next) => {
|
||||||
initExpress(req, res, next, () => {
|
initExpress(req, res, next, () => {
|
||||||
const filepath = path.resolve(
|
const filepath = path.resolve(
|
||||||
|
Loading…
Reference in New Issue
Block a user