spa

前端骨架屏

戏子无情 提交于 2020-12-24 19:04:08
骨架屏 最近在项目不时有用到骨架屏的需求,所以抽时间对骨架屏的方案作了一下调研,骨架屏的实践已经有很多了,也有很多人对自己的方案作了介绍.在这里按照个人的理解做了一个汇总和分类,分享给大家. 关于骨架屏(简介) 骨架屏就是在页面数据尚未加载前先给用户展示出页面的大致结构,直到请求数据返回后再渲染页面,补充进需要显示的数据内容。常用于文章列表、动态列表页等相对比较规则的列表页面。 很多项目中都有应用:ex:饿了么h5版本,知乎,facebook等网站中都有应用。 借个图举例如下: 两类用途 简介中作了关于用途的说明,但是仍然可以继续细分: 作为spa中路由切换的loading,结合组件的生命周期和ajax请求返回的时机来使用. 作为首屏渲染的优化. 第一类用途 第一类用途需要自己编写骨架屏,推荐两个成熟方便定制的svg组件定制为骨架屏的方案 react-content-loader vue-content-loader 作为首屏渲染(自动化方案) 该方案是饿了么在骨架屏的实践中总结出的一套方案: 骨架屏的dom结构和css通过离线生成后构建的时候注入模板中的节点下面. 原理相关 eleme骨架屏插件实现原理 方案的项目地址: page-skeleton-webpack-plugin 使用时候的注意点: cssUnit的配置: 需要使用自适应的单位,按照文档给出的选择范围选,直接用

分手失败,那就聊聊前后端分离接口规范~

ⅰ亾dé卋堺 提交于 2020-12-24 15:57:16
点击上方 “ IT平头哥联盟 ”, 选择“ 置顶或者星标 ” 一起进步~ 1. 前言 随着互联网的高速发展,前端页面的展示、交互体验越来越灵活、炫丽,响应体验也要求越来越高。 后端服务的高并发、高可用、高性能、高扩展等特性的要求也愈加苛刻,从而导致前后端研发各自专注于自己擅长的领域深耕细作。 然而带来的另一个问题:前后端的对接界面双方却关注甚少,没有任何接口约定规范情况下各自干各自的,导致我们在产品项目开发过程中,前后端的接口联调对接工作量占比在30%-50%左右,甚至会更高。 往往前后端接口联调对接及系统间的联调对接都是整个产品项目研发的软肋。 本文的主要初衷就是规范约定先行,尽量避免沟通联调产生的不必要的问题,让大家身心愉快地专注于各自擅长的领域。 昨天要分手的文章 : 前端:后端,我们要分手,咱两不合适 2. 为何要分离 参考两篇文章: http://blog.jobbole.com/65509/ http://blog.jobbole.com/56161/ 目前现有前后端开发模式:“后端为主的MVC时代”,如下图所示: 后端为主的MVC时代 代码可维护性得到明显好转,MVC 是个非常好的协作模式,从架构层面让开发者懂得什么代码应该写在什么地方。 为了让 View 层更简单干脆,还可以选择 Velocity、Freemaker 等模板,使得模板里写不了 Java 代码。

ASP.NET Core Web Api之JWT(一)

99封情书 提交于 2020-12-19 08:02:06
最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技能,比如Docker、Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流。接下来几节课的内容将会讲解JWT,关于JWT的原理解析等等大有文章,就不再叙述,这里我们讲解使用和一些注意的地方。 在.NET Core之前对于Web应用程序跟踪用户登录状态最普通的方式则是使用Cookie,当用户点击登录后将对其信息进行加密并响应写入到用户浏览器的Cookie里,当用户进行请求时,服务端将对Cookie进行解密,然后创建用户身份,整个过程都是那么顺其自然,但是这是客户端是基于浏览器的情况,如果是客户端是移动app或者桌面应用程序呢? 关于JWT原理可以参考系列文章https://www.cnblogs.com/RainingNight/p/jwtbearer-authentication-in-asp-net-core.html,当然这只是其中一种限制还有其他。 如果我们使用Json Web Token简称为JWT而不是使用Cookie,此时Token将代表用户,同时我们不再依赖浏览器的内置机制来处理Cookie,我们仅仅只需要请求一个Token就好。 这个时候就涉及到Token认证,那么什么是Token认证呢? 一言以蔽之: 将令牌

GMTC全球大前端技术大会-未来已来

一世执手 提交于 2020-12-19 05:58:36
GMTC-2019北京 GMTC这次的大会的热词肯定是监控、性能,当然跨平台依然是热点, write once,run anywhere! ,以下是自己参加的总结心得。 6.20上午 前端的演化 核心理念:结构+样式+表现分离 -2003 前端岗位的出现 核心理念90%优化在前端 工程化的开始 核心理念:前后端分离 全栈的演进 核心理念:mobile first 无线时代来临 核心理念:LOw/No Code 中后台的重塑 未来? 最大的感触是阿里的圆心讲的,国内前端的标准与世界的差距,前端世界权威组织机构是TC39、W3C和node基金会,国内对行业标准的贡献度有很大差距 6.21下午 极致前端性能优化探索 贝壳 项目自研做监控系统,时光机、日志分析平台 对了还分享了下gizip的原理:LZ77算法、Huffman 文本68% 图片6.3% 对图片做压缩 消除替换图像 矢量图、光栅图优化 有损压缩与无损压缩 图片转行样式表 抽离像素通道 手动刷新运营商缓存,强制缓存图片 投放广告,携带图片缓存到本地 6.22 B站的视频体验进化之路 bilibili 关键资源优先加载 bundle缩小 SSR+SPA 弹幕:mask-image 0.3秒完成渲染!信息流内容页“闪开”优化总结和思考 阿里巴巴 直出无白屏,动画流畅不卡顿 CSR SSR NSR data

这个发热鞋垫厉害了,有它冬天再也不怕脚冷

微笑、不失礼 提交于 2020-12-07 03:57:48
▲ 点击查看 冬天一到,小爆发现身边的“抖友”又开始上线了! 至于为什么会抖脚?有盆友说,当然不是真的想抖, 而是因为脚太冷冷冷了! 有时候穿了棉袜厚鞋,脚都是冷冰冰的,感觉就像踩在冰窟里。 尤其是坐在办公室工作的时候,脚冷到没有知觉这种事,家常便饭,全靠抖一抖活到明年! 听说,冬天想要暖脚,还要数发热鞋垫最好用。 把它放进鞋子里,立马就发热,比穿加厚棉袜、雪地靴暖得舒服多了~ 今天给大家推荐一款超好用的 暖脚神器- IXD发热保暖鞋垫 ,只要把它放鞋里,就能自动发热,让你从脚底暖到心上! 物理自热,环保无害,持续恒温发热,吸湿防臭 ,有了它犹如给脚部安装了天然暖气,让每一丝温暖从脚底涌到心头~ 而且,不仅发热效果很不错,发热时间也可以持续一天,无论什么鞋型、脚型都可以使用~ 有了它,坐在冰冷的办公室内,脚底暖乎乎的,太舒服了~ 【IDX蓄热自发热鞋垫】 限时折扣只要 59 元! 吸湿发热 冬天再也不怕冻脚! 点击下图,一键拥有 前中国李宁产品设计师 历时8年,倾情巨作 说起这款黑科技发热鞋垫,来头可并不小,是出自前中国李宁的 产品主设计师魏昕欣 的手笔。 作为专业设计运动功能产品的他,在鞋服方面也是长期为冠军运动员服务。 而为了做到满意的鞋垫,魏昕欣 联合武汉纺织大学教授 等各领域专家进行深入研究。 历时 8年10个月 精心打造的这款鞋垫,从版型到舒适度都 经过多次测试!

如何系统地进行前端性能优化【监控篇】

社会主义新天地 提交于 2020-12-02 19:02:44
性能优化是前端领域一个亘古不变的热点话题。本系列文章将分监控、加载性能优化和运行时性能优化三章从实践角度来做具体分享 想要优化就必须得有度量。有了监控才能客观、系统地进行分析性能瓶颈、验证优化结果等。所以我们先从如何完整地监控开始 优化方法论 前端性能又分为加载性能和运行时性能 加载性能度量 加载性能就是用户从进入到页面到页面真正可用的这个过程的耗时。我们可以用一道经典的面试题入手:用户从键入url按下回车之后到看到页面这其中发生了什么? DNS解析:把域名解析成ip地址 TCP连接建立 发送http请求 服务器解析http请求并返回结果 浏览器解析返回结果 而我们要做的就是记录这些过程的耗时: 现代浏览器提供了 performance 对像供我们方便地提取这些数据。而且 兼容性 在这。其中 timing 对象详细记录每个节点的时间戳。 将相关时间节点相减就能得到相应过程的耗时。 作为开发,我们通常更关注从服务器读取的时间,所以取 fetchStart 为起点。 下面是一些常用的时间计算: const { fetchStart, domainLookupStart, domainLookupEnd, domInteractive, domContentLoadedEventStart } = performance.timing // DNS查找时间 domainLookupEnd

Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现

て烟熏妆下的殇ゞ 提交于 2020-12-01 11:27:19
Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现 参考文章: (1)Angular (SPA) WebPack模块化打包、按需加载解决方案完整实现 (2)https://www.cnblogs.com/teamblog/p/6241189.html 备忘一下。 来源: oschina 链接: https://my.oschina.net/u/4428122/blog/4767344

【ABAP系列】SAP ABAP如何在调试查看EXPORT/IMPORT 内存数据

ぃ、小莉子 提交于 2020-11-27 04:49:13
公众号: SAP Technical 本文作者: matinal 原文出处: http://www.cnblogs.com/SAPmatinal/ 原文链接: 【ABAP系列】SAP ABAP如何在调试查看EXPORT/IMPORT 内存数据 前言部分 大家可以关注我的公众号,公众号里的排版更好,阅读更舒适。 正文部分 These memory IDs can be accessed in the debugger, but the option isn't accessible by default in the "new" Debugger. To display them you have two options: In the new Debugger, change one of the tools you're using. Do this by clicking the "New Tool" or "Replace Tool" that you can see at the top of the vertical button column on the right of each subwindow. Open the Special Tools folder in the tree and select "System Areas (Internal Only)"

使用vue-cli来搭建vue项目

故事扮演 提交于 2020-11-27 04:45:32
前提:搭建好NodeJS环境 node -v npm -v 1. 什么是vue-cli? vue-cli是vue.js的脚手架,用于自动生成vue.js+webpack的项目模板,创建命令如下: vue init webpack xxx 注1:xxx 为自己创建项目的名称 注2:必须先安装vue,vue-cli,webpack,node等一些必要的环境 2. 安装vue-cli npm install -g vue-cli npm install -g webpack 注1:安装成功后,会出现如下文件 D:\initPath   node-v10.15.3-win-x64     node_global       vue       vue.cmd       vue-init       vue-init.cmd       vue-list       vue-list.cmd 注2:安装完成之后打开命令窗口并输入 vue -V(注意这里是大写的“V”),如果出现相应的版本号,则说明安装成功。 3. 使用脚手架vue-cli(2.X版)来构建项目 步骤一:使用脚手架创建项目骨架 此步骤可理解成:使用eclipse创建一个maven的web项目 cmd 打开命令窗口 d: 切换到d盘 cd d:\temp 进入d:\temp目录 vue init webpack spa1

Vue微信自定义分享时安卓系统config:ok,ios系统config:invalid signature签名错误,或者安卓和ios二次分享时均config:ok但是分享无效的解决办法

喜你入骨 提交于 2020-11-27 02:28:43
简述需求:要求指定页面可以进行微信自定义分享(自定义标题,描述,图片,链接),剩下的页面隐藏所有基础接口。二次分享依然可以正常使用,切换至其他页面也可以正常进行自定义分享。 这两天在做微信自定义分享的需求,相信大家都遇到过这问题,就是使用JS-SDK的页面注入配置信息时安卓系统config:ok,ios系统config:invalid signature签名错误。然后大家都去查微信jssdk的文档,里面所说的config:invalid signature可能原因你都一个个查验过发现没有问题,但是还是提示签名错误,是不是很抓狂很蛋疼???然后你再去查请求配置信息时的动态URL是否有问题,你会发现安卓ios打印出来的url都是正确的,问题究竟出在哪里呢???就问你难不难受!!! 当我实现了安卓和ios系统均成功自定义分享时,出现了另一个bug,就是二次分享时ios系统当前页面正常有效,切换至其他页面时自定义分享失效了,但是debug发现安卓ios都提示config:ok,然而分享却无效,就问你难不难受!!! 查阅了网上很多的解决方案,没有一个是真的能解决我所遇到的问题。说二次分享失效因为微信自带from等参数的、解决方案写一半的、没有效果的,让我感到深深的坑爹感。最后研究出来了解决方案,不需要对链接做清除微信带过来的参数,也不需要做太多的处理。 安卓系统签名没问题