发布于2021-06-07 21:26 阅读(905) 评论(0) 点赞(27) 收藏(2)
yarn add react-app-rewired
地址——https://mobile.ant.design/docs/react/use-with-create-react-app-cn
① 打开 antd-mobile 在 create-react-app 中使用的文档。
② 安装 yarn add react-app-rewired customize-cra(用于重写脚手架配置)
③ 修改 package.json 中的 scripts。
④ 在项目根目录创建文件:config-overrides.js(用于覆盖脚手架默认配置)
⑤ 安装 yarn add babel-plugin-import 插件(用于按需加载组件代码和样式
⑥ 修改 config-overrides.js 文件,配置按需加载功能。
⑦ 重启项目(yarn start)。
⑧ 移除 index.js 中导入的 antd-mobile 样式文件。
⑨ 将 index.css 移动到 App 后面,让 index.css 中的页面背景色生效。
package.json中:
"scripts": {
"start": "react-app-rewired start",
"build": "react-app-rewired build",
"test": "react-app-rewired test --env=jsdom",
"eject": "react-scripts eject"
}
config-overrides.js中:
地址——https://mobile.ant.design/docs/react/use-with-create-react-app-cn
const { override, fixBabelImports } = require('customize-cra');
module.exports = override(
fixBabelImports('import', {
libraryName: 'antd-mobile',
style: 'css',
}),
)
代码分割官方地址——https://react-1251415695.cos-website.ap-chengdu.myqcloud.com/docs/code-splitting.html
const CityList = React.lazy(() => import('./pages/CityList'))
import { Suspense } from 'react'
<Suspense fallback={<div>loading...</div>}>
<Route path="/citylist" component={CityList} />
</Suspense>
在src/App.js中
// import Home from './views/Home/index.js'
// import Login from './views/Login/index.js'
const Home = React.lazy(() => import('./views/Home/index.js'))
const Login = React.lazy(() => import('./views/Login/index.js'))
在src/App.js中
<BrowserRouter>
+ <Suspense fallback={<div className='globalLoading'>正在加载...</div>}>
{/*全局路由*/}
<Switch>
<Redirect exact from='/' to='home'/>
<Route path='/login' component={Login}/>
<Route path='/home' component={Home}/>
<Route path='/city' component={City}/>
<Route path='/login' component={Login}/>
<Route path='/map' component={MapSearch}/>
<Route path='/proxy' component={TestProxy}/>
<Route path='/animation' component={TestAnimation}/>
<Route path='/detail/:id' component={Detail}/>
{/*<Route path='/test' component={Test}/>*/}
{/* render属性的作用:渲染一个路由组件*/}
{/*<Route path='/auth' render={() => {
return (
<div>
<div>TOM</div>
<div>JERRY</div>
</div>
)
}}/>*/}
<AuthCheck path='/test' component={TestAuth}/>
<AuthCheck exact path='/rent' component={Rent}/>
<AuthCheck path='/rent/add' component={RentAdd}/>
<AuthCheck path='/rent/search' component={RentSearch}/>
<Route component={NotFound}/>
</Switch>
+ </Suspense>
</BrowserRouter>
src/index.css中
.globalLoading {
text-align: center;
padding-top: 100px;
font-size: 30px;
color: orange;
}
效果-组件正在加载
原文链接:https://blog.csdn.net/weixin_44867717/article/details/117433783
作者:狗蛋你别跑
链接:http://www.phpheidong.com/blog/article/89696/11e397c13724ffc1d2be/
来源:php黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 php黑洞网 All Rights Reserved 版权所有,并保留所有权利。 京ICP备18063182号-4
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!