项目组织结构 ajax数据请求的封装和api接口的模块化管理 第三方库按需加载 利用less的深度选择器优雅覆盖当前页面UI库组件的样式 webpack实时打包进度 vue组件中选项的顺序 路由的懒加载 路由模块拆分化管理 项目组织结构 清晰的项目结构能让别人开发进来更容易理解,当然,每个人都有一定的代码风格习惯.但基于vue开发框架的项目,vue-cli脚手架搭建的项目组织结构大同小异.同时,预想到后面的需求变更及功能增加进展得更有效率,下面截图是我觉得比较好的项目组织结构: 这个截图只是针对…
vue 单文件组件最佳实践 生命周期 template <template> <section> <h1>vue single file components template best practices</h1> <GlobalFilter :filterItems="filterItems" /> </section> </template> <script> // utils imp…
Vue风格指南中介绍了单文件组件中的Style是必须要有作用域的,否则组件之间可能相互影响,造成难以调试. 在Vue Loader Scope CSS和Vue Loader CSS Modules两节中介绍了Vue实现CSS模块化的两种方式. 下面对scoped和CSS Modules两种方式分别进行介绍,然而这两种方式均非最佳实践. 一.scoped 使用scoped会为组件中HTML树的每个元素都添加data-xxxx属性,其中xxxx是哈希值.转换之后的CSS变成 mySelector[d…
相比于早些年前后端代码紧密耦合.后端工程师还得写前端代码的时代,如今已发展到前后端分离,这种开发方式大大提升了前后端项目的可维护性与开发效率,让前后端工程师关注于自己的主业.然而在带来便利的同时,也带来了一些弊端,比如首屏渲染时间(FCP)因为首屏需要请求更多内容,比原来多了更多HTTP的往返时间(RTT),这造成了白屏,如果白屏时间过长,用户体验会大打折扣,如果用户网速差,则FCP会更长. 由此引申出一系列的优化方法,骨架屏也因此被提出. FCP优化 在 Google 提出的以用户为中心的四个…
virtualenv --- 使用不方便 提升效率,管理更便捷--- pipenv 新建环境:: pip3 install pipenv 在项目下,用pipenv安装 Djagno pipenv install django pipenv graph -显示包与包之间的依赖关系 加测试用的包--- 安装在了开发环境  dev-packages pipenv install --dev pytest --skip-lock 当我们项目完成需要部署时候,就只安装生产环境需要的包 pipnev  --…
大家都知道okhttp是一款由square公司开源的java版本http客户端工具.实际上,square公司还开源了基于okhttp进一步封装的retrofit工具,用来支持通过接口的方式发起http请求. 如果你的项目中还在直接使用RestTemplate或者okhttp,或者基于它们封装的HttpUtils,那么你可以尝试使用Retrofit. retrofit-spring-boot-starter实现了Retrofit与spring-boot框架快速整合,并且支持了部分功能增强,从而极大…
===================================自定义异常类===================================稍具规模的项目, 一般都要自定义一组异常类, 这样做的好处是:1. 可以充分利用异常的中断特性, 简化代码的逻辑控制. 2. 在自定义的异常类, 可以设置 BusinessErrorCode 和 error message, 有了统一的 BusinessErrorCode, 排查和联调沟通就更容易了. Java 异常的 Root 是 Throwa…
前言 对于项目版本管理,你是否存在这样的痛点:项目分支多而杂不好管理,git log界面commit信息错乱复杂无规范,版本回退不知道选择什么版本合适--. 项目版本管理的最佳实践系列,笔者将以两篇文章的形式展开介绍(即基础篇与进阶篇).本文为gitflow版本管理的最佳实践-基础篇.基础篇主要介绍git应用于生产的基本流程与怎么使用gitflow管理你的项目版本线(适用于敏捷迭代的项目管理场景下).进阶篇 将着重介绍gitflow+jenkins+docker+DevOps+敏捷Scrum 完…
Docker和K8S的兴起,很多服务已经运行在容器环境,对于java程序,JVM设置是一个重要的环节.这里总结下我们项目里的最佳实践. Java Heap基础知识 默认情况下,jvm自动分配的heap大小取决于机器配置,比如我们到一台64G内存服务器: java -XX:+PrintFlagsFinal -version | grep -Ei "maxheapsize|maxram" uintx DefaultMaxRAMFraction = 4 {product} uintx Max…
目录 1.vue框架使用注意事项和经验 1.1 解决Vue动态路由参数变化,页面数据不更新 1.2 vue组件里定时器销毁问题 1.3 vue实现按需加载组件的两种方式 1.4 组件之间,父子组件之间的通信方案 1.5 vue中 $event 的用法--获取当前父元素,子元素,兄弟元素 1.6 vue常用工具函数总结 1.7 axios二次封装http请求 2.elementui组件修改经验总结 2.1 element-ui 中步骤条的深度使用 2.2 v-loading框中的提示文字换行 2.…