模板优化
一、 v-show,v-if ,根据项目需求选择。
二、模板里表达式不要过多。
三、用v-for渲染数据时,加上key值,如果循环较多,可以分批渲染。
样式优化
一、 <style scoped> 将样式文件锁住。可以用短类名,代替长类名。
二、全局的样式文件,尽量抽象化。
三、用 flex布局,代替float布局。
js的优化
一、data 里命名清晰,避免无用的变量。
二、父子组件传参,尽量单个传,避免传对象时,传一些无用的参数。
三、什么时间应该请求,什么时间注销方法,哪些方法需要注销。
四、metheds 中每一个方法一定要简单,只做一件事,尽量封装可复用的简短的方法,参数不易过多。
五、当过度依赖lodash (工具类)开发,代价就是整体的 bundle 体积会大,假如项目仅仅用到小部分方法可以局部引入 loadsh,不想用 lodash 的话可以自己封装一个 util.js 文件
五、watch 和 computed 用哪个,计算属性主要是做一层 filter 转换,切忌加一些调用方法进去,watch 的作用就是监听数据变化去改变数据或触发事件。
组件优化
一、规模较大就要细分组件,越细越好,包括布局的封装,按钮,表单,提示框,轮播等,推荐看下 Element 组件库的代码,没时间写这么详细可以直接用 Element 库,分几点进行优化
1、组件有明确含义,只处理类似的业务。复用性越高越好,配置性越强越好。
2、自己封装组件还是遵循配置 props 细化的规则。
3、组件分类,我习惯性的按照三类划分,page、page-item 和 layout,page 是路由控制的部分,page-item 属于 page 里各个布局块如 banner、side 等等,layout 里放置多个页面至少出现两次的组件,如 icon, scrollTop 等。
路由优化
一、组件懒加载
结合 Vue 的异步组件和 Webpack 的代码分割功能
vuex优化
vuex的api有mapState、mapGetters、mapActions、mapMutations
一、保持代码统一,写完整的闭环。
二、我的组件里只允许出现 dispatch 和 mapGetters,其余的流程都在名为 store 的 vuex 文件夹里进行。
打包优化
一、当 bundle.js太大时,打时不打包 vue、vuex、vue-router、axios 等,换用国内的 bootcdn 直接引入到根目录。
二、拆分其他的库,此时增加了请求的数量。比一次请求的文件太大,要快。