中级实战课程项目:vip.yideng.com 刷题网站 请及时该项目代码与 git 同步
前端:React + React-router + axios + TS + Recoil + Hooks + cssnext
后端:BFF、Node、Koa、Serverless(阿里云的函数计算)、OSS
- 微信扫码登录认证机制
- markdown 渲染
- 防爬虫:接口返回的已经经过处理,字符(乱码)格式 - 字体的作用?字符映射?随机动态生成?
-
前端只要将字体加载过来 (由后台生成,前端只需加载)(注意使用版权的问题)
// html中以style插入 <style> @font-face { font-family: 'custom'; src: url(https://xxxx/api/interInfo?key=xxxx&st=yyy) format(’woff’) } </style>
-
- pdf 渲染
pnpm init -y && tsc —init
index-dev.html 与 index-prod.html
├── .vscode
| └── settings.json
├── README.md
├── config
| ├── webpack.development.config.js
| └── webpack.production.config.js
├── gitigonore
├── package.json
├── src
| ├── @types
| ├── apis
| ├── assets
| ├── components
| ├── hooks
| ├── index-dev.html # 在开发阶段,我们可以直接引入本地的库,减少启动时间,增加开发效率,比如在index-dev.html中直接使用`<script src="localhost:js/react.js"></script>` ,不进行打包
| ├── index-prod.html # 在生产阶段,部分公司由自己的cdn,可以直接在index-prod.html中引入线上cdn地址(比如react.js这种变化较小,直接从静态资源服务器拉取即可)
| ├── index.css
| ├── index.tsx
| ├── pages
| ├── recoil
| ├── routes
| └── utils
├── tsconfig.json
└── webpack.config.js
directory: 12 file: 12
- react
- react-dom
- react-router
- axios
- recoil:状态管理
- webpack
- webpack-cli
- typescript
- webpack-merge
- scripty
- yargs-parser
- @types/react、@types/react-dom、@types/react-router-dom
- babel 系列(@babel/preset-env、@babel/preset-react、@babel/preset-typescript)