这个项目能做什么
此仓库包含Tuleva基于网页的养老金入职客户端的前端代码,可在pension.tuleva.ee访问。它使用React和JavaScript/TypeScript构建,并随时间演进采用了现代实践。
关键技术细节:
- 最初使用JavaScript、Redux和Enzyme进行测试,现在项目鼓励转换为TypeScript、使用函数组件,并采用React Query进行数据获取,同时利用React原生上下文进行局部状态共享。
- 代码库包含从Redux迁移的指南,推荐使用React Query钩子,并将遗留的Redux用法抽象为独立的钩子。
- 开发需要Node.js LTS(22.17.0)和NPM(10.9.2),建议使用asdf进行版本管理。
- 本地运行:使用`npm install`安装依赖,通过`npm run develop`启动服务器(或使用`npm run develop-production`用于生产环境),并使用`npm test`运行测试。非生产环境运行期望onboarding-service位于端口9000。
- 部署通过CircleCI在推送到master时自动进行到AWS,而内联小部件则通过FTP和WordPress主题URL更新手动更新。
- Node.js版本更新通过编辑package.json中的engines字段、CircleCI配置和.tool-versions文件进行管理。
测试使用React Testing Library和MSW,CancellationFlow.tsx中的示例展示了在重用现有Redux代码的同时进行增量迁移。依赖时区的测试需要在IntelliJ运行配置中设置TZ=UTC。
评论
0 评分人数达到10人后显示
登录后参与讨论。