其他工程实践

滥用事件总线的危害

业务代码分层习惯

├─assets 静态资源
├─service 业务逻辑封装
├─components 组件
  ├─business 业务组件
  ├─common 通用组件
├─constants 常量
├─store 全局状态
├─pages 页面
├─types 通用类型
├─utils 工具

使前端能够脱离后端进行独立测试

集成 mockjs 等工具,使前端能够脱离后端独立的进行测试,模拟后端各种请求报错以及所有其他情况

npm 脚本命名

同一系列行为的脚本,命令行参数、环境变量有差异,用冒号区分,比如

"scripts": {
  "build:test": "tsc && vite build --mode test",
  "build:prod": "tsc && vite build --mode production",
}

前置操作的处理

如登录、获取用户信息、权限检查等任务,放在根组件(App.tsx、App.vue)中执行,执行结束再渲染路由组件,保证业务接口能正确获取参数

小程序:

小程序入口组件不会渲染任何内容,
例如 Taro 框架,根组件必须同步返回 props.children,
所以对前置操作的处理,可以将首页设置为一个 loading 页,在 loading 页中显示加载中且进行前置操作后,
再跳转到业务页面(为 loading 页设置如 redirectUrl 参数设置跳转页面)。

不建议在本地构建部署代码

应使用 devops 系统

前端项目的一般部署流程

本地部署的优势

本地部署的劣势

其他

小程序环境判断