网站优化,提升网站速度

也会因此而感谢你,当然他们可能压根没注意到你的网站速度加快了——这是好事。在这篇文章里,我会告诉你一些提升网站速度的方法。我们开始吧。基准首先,用你的网站来做示例。你需要使用 Google 的 Pagespeed Insights 网站测试工具来测试你的网站,它会告诉你,你的网站需要优化移动端还是桌面端。Google 基于网页的渲染速度来打分。它会计算你的网站需要多久呈现到用户眼前。用户等待的时间

- 阅读全文 -

js数组中改变元素的位置——互换,置顶,上移,下移

unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。一、两个元素换位子function swapArr(arr, index1, index2) { arr[index

- 阅读全文 -

React Router /Vue-Router 采用BrowserHistory 关于 Nginx配置

React Router /Vue-Router 采用BrowserHistory 关于 Nginx配置如今前端应用普遍使用react-router作为路由管理,VUE也自带全家桶vue-router,在开发端webpack自带的express服务器下运行和测试表现均正常,部署到线上的nginx服务器后,还需要对该应用在nginx的配置里作相应调整,否则浏览器将不能正常使用该应用,表现为页面不显示

- 阅读全文 -

为什么Chrome的document.body.scrollTop可以是小数

JavaScript突然发现新版的Chrome的scrollTop可以是一个小数,为什么可以是小数,这么做有什么意义?我可能滚动小数个像素吗?随着市面上各种高分屏,高DPI,都会出现这样的问题设计师的电脑真香,2K屏他毕竟工作在抽象的绘图空间上的,px的概念已经从最初的屏幕物理像素变成了一个长度单位,随着你屏幕dpi的不同,一个px所代表的真实像素数也不同。所以现代的2D渲染系统都是以浮点数定义坐

- 阅读全文 -

基于(CRA)的快速应用

JoyNop React Framework[gitwidget type='github' url='JoyNop/pms_joy_cra']TypeScript & Antd & Lessyarn add Install your dependenciesyarn start Start running your projectIf you want to analyze certain f

- 阅读全文 -

如何在React/MaterialUI中使用SVG素材

之前用iconfont的svg一直都是失败状态,今天来解决一下这里有个例子,大设计师设计的SVG印章图 这个图还是比较酷的 审核通过.svg(点击可下载) 这个svg的图通过查看代码如下 <svg xmlns="http://www.w3.org/2000/svg" width="3451.53" height="3335" v

- 阅读全文 -

jsonp解决跨域请求以及为什么不支持post请求

我的理解,用post就有跨域检查了。jsonp实际是在客户端动态添加了个script标签,然后将url指向要请求的地址,script是没有同源策略的。用这种办法自然只能是get了。jsonp的本质是:动态创建script标签,然后通过他的src属性发送跨域请求,不同意然后服务器相应的数据格式为【函数调用foo(实参)】,所以在发送请求之前必须声明一个函数,并且函数的名字与参数中传递的名字要一致。原

- 阅读全文 -

axios 是如何设计,以及如何实现 HTTP 请求库封装的

前端开发中,经常会遇到发送异步请求的场景。一个功能齐全的 HTTP 请求库可以大大降低我们的开发成本,提高开发效率。axios 就是这样一个 HTTP 请求库,近年来非常热门。目前,它在 GitHub 上拥有超过 4w 的 Star,许多权威人士都推荐使用它。有人说,当你选择一个库的时候,一定要先搞清楚他的原理,因此,我们有必要了解下 axios 是如何设计,以及如何实现 HTTP 请求库封装的。

- 阅读全文 -

jwt 实践应用以及特殊案例思考

JSON Web Token 是 rfc7519 出的一份标准,使用 JSON 来传递数据,用于判定用户是否登录状态。jwt 之前,使用 session 来做用户认证。

- 阅读全文 -

React/TypeScript 中如何使用privateRoutes

不多说直接丢代码 import { Route, Redirect, RouteProps } from 'react-router-dom'; import * as React from "react"; export interface PrivateRouteProps extends RouteProps { component: React.Compon

- 阅读全文 -

JavaScript异步剪贴板 API

在过去我们只能使用 document.execCommand 来操作剪贴板。不过,这种操作剪贴板的操作是同步的,并且只能读取和写入 DOM。现在 Chrome 已经支持了新的 Async Clipboard API,作为 execCommand 替代品。这个新的 Async Clipboard API 还可以使用 Promise 来简化剪贴板事件并将它们与 Drag-&-Drop API

- 阅读全文 -