# vite-react **Repository Path**: ldodo/vite-react ## Basic Information - **Project Name**: vite-react - **Description**: No description available - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-04-10 - **Last Updated**: 2024-11-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## vite-react-project - demo演示嵌套路由处理 ### 推荐node: 14 ### 开发构建命令(推荐用vite) 1. 开发:yarn dev(vite开发) | yarn dev:w(webpack) 2. 开发(API本地代理):IP=1 yarn dev | IP=1 yarn dev:w 3. 构建:yarn build(默认vite + gulp) ### 功能点 1. node 最新,其他版本还没试过 2. react 16.14 3. router 5 4. webpack 5 5. 构建一次,生成三个文件夹 t-dist / dist / assets(本地资源托管) - vite(webpack) 构建一次,生成(dist/vite)目录,并且是cdn生产链接,通过gulp二次加工,分别生成本地托管(assets)、测试环境(t-dist/vite)两个目录 6. 默认资源走cdn, 如果要走本地静态资源,请通过接口切换:http://localhost:8080/cdn?cdn=0 ### 嵌套路由两种写法,详情查看 modules -> A -> A2 ```javascript // 这种用于动态导入路由 export default function () { const { path, url } = useRouteMatch(); return ( {routes.map((route, idx) => ( ))} ); } ``` ```javascript export const RouteWithSubRoutes = (route) => { return ( ( // pass the sub-routes down to keep nesting )} /> ); }; const AppRouterWrapper = ({ routes }) => { return ( {routes.map((route, i) => ( ))} ); } export default { path: '/common', component: AppRouterWrapper, routes: routes.map((d) => ({ ...d, path: `/common${d.path}` })), }; ```