前端工程化

webpack工程化

提高构建速度

  • webpack4
  • 缩小搜索extention范围,强制后缀
  • dll

减少大小

  • 分析资源图
  • 按需加载

做了哪些优化

debounc和throttle

尽量采用受控组件

redux-thunk和redux-saga选型问题?

老大考虑到团队成员学习的曲线,最终选择thunk
为了更方便团队人员使用,封装直接的thunk,和cobineReducer

  • 为什么要封装conbineReducer?
1、项目分为四大块,服务治理,资源治理,诊断调试,分析管理
几十个组件,不可能将所有的状态卸载一个reducer里面来管理
不利于维护

然后因为封装了组件thunk所以要用自己封装的combineReducer来更新state


paas抽离的公共组件

  • 表单action的,增加,删除,修改(图标来表示)
  • cluster展示 {name}
  • 节流优化,搜索过滤组件(debounce)
  • 优化过的AutoComplete
<data={data} searchData={() => this.handleSearchData(filterData)}>

仿saga

  • Ali-thunk中间件
effects = modelx.getEffects()
const myThunk = (store) => (next) => (action) => {
    let typeArr = action.type.split('/')
    let isEffect = [typeArr][1].includes('@')
    let name = typeArr[0]
    let method = typeArr[1]
    if(isEffect){
        return  effects[name][method](store.dispatch,store.getState(),action.payload)
    }
    next(action) //走原生dipatch(action)
}


// createStore中的原生dispatch方法
dispatch(action){
    newState = reducers(state,action)
}

  • modexl.js




  • 深拷贝
function deepClone(obj){
    return Object.assign({},obj)
}


2、组件做到粒度细分,而且高内聚低耦合

  • paas
1 产品化不足,体验不够好

手机主要体验差的点

  • workflow
定义的一个状态机,多个状态,一个状态到另一个状态
YAML文件

利用的是远程调用(RMI)
workflow由于调用频率和场景特殊的原因,持续保持心跳必然带来资源浪费
简单来说就是,将所有请求在一个连接中完成,维持一个长连接


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值