Ajax 怎么取消?要不要取消?

2022-06-30
阅读 4 分钟
2.2k
假如你熟悉 xhr,会知道 Ajax 其实可以前端主动取消,使用的是 XMLHttpRequest.abort()。当然现在也不是刀耕火种的时代,除了面试,可能基本不会手写 xhr,在无人不知的 axios 中有两种取消方法:

Vue 优化速查

2022-02-24
阅读 6 分钟
4k
首发传送门:[链接]拆分组件我也曾以为,拆分子组件是用于抽象,但实践告诉我,拆分子组件是提升性能的一种方式(特定情况)。在我的实际工作中遇到这么个问题,有一个很大的表格,里面有多个新增条目的对话框,当数据很多的时候,填写新增数据都会变卡。原因就是,在一个组件里,修改值会造成整个组件的数据检查和 diff...

用 eslint 和 prettier 让跨 IDE 协作更舒服

2021-11-08
阅读 4 分钟
6k
TL; DR搭配 eslint 和 prettier 可以进行代码质量优化和跨 IDE 协作安装插件和 npm 包以顺利使用 eslint 和 prettier准备配置文件 .eslintrc.js 和 .prettierrc.js(可以借助工具生成也可手写)提高效率,开启 IDE 的保存自动格式化功能用 npm 可以更方便地管理 eslint 和 prettier 配置场景之前说明了一下 eslint 和 pr...

Vue 响应式原理解析

2021-07-27
阅读 6 分钟
3k
几年来看了不少 Vue 原理的文章,在这些文章的帮助下,我也多次尝试自己理解 Vue 的源码,终于,我觉得是时候自己输出一下内容了,希望可以从不同于其他文章的角度带大家熟悉 Vue。

长话短说,CSS 一个坑,一个 hack

2021-06-06
阅读 1 分钟
2.4k
ts;dr虽然很短但是还是不读的话可以归结为两句话CSS 的 overflow-x,overflow-y 的表现不一定如你所想你可以使用伪元素较为方便地扩大元素 hover 的范围overflow x&y根据 W3 标准as specified, except with visible/clip computing to auto/hidden (respectively) if one of overflow-x or overflow-y is neither vi...

前后端接口鉴权全解 Cookie/Session/Token 的区别

2021-03-01
阅读 13 分钟
16.8k
不知不觉也写得比较长了,一次看不完建议收藏夹!本文主要解释与请求状态相关的术语(cookie、session、token)和几种常见登录的实现方式,希望大家看完本文后可以有比较清晰的理解,有感到迷惑的地方请在评论区提出。

老生常谈的 JavaScript 原型链

2021-01-29
阅读 3 分钟
1.7k
用了这么多年的 JavaScript,对于原型链这东西自觉是理解了,但是日常工作中很少使用的“继承”部分最近突然想起来竟觉得有点陌生,所以在这里稍微理一下思路。

为什么会精度丢失?教你看懂 IEEE-754!

2020-09-25
阅读 5 分钟
8.5k
原文链接:[链接]上图来自维基百科。IEEE-754 标准是一个浮点数标准,存在 32、64、128 bit 三种格式(上面两幅图分别是 32 bit 和 64 bit 的情况,结构是一致的),JavaScript 使用的是 64 位,也就是常说的“双精度”,本文将以 64 位举例讲解 IEEE-754 标准。从图中可知,IEEE-754 标准将 64 位分为三部分:sign,1 bit...

认识 ESLint 和 Prettier

2020-06-02
阅读 3 分钟
4.4k
原文链接:[链接] ESLint 和 Prettier 分别是什么,有什么关系? 直接用脚手架生成一个带 ESLint 的项目,整天报错有没有很懵逼? 这些东西到底怎么配置? 读完就能解决这些疑问啦! ESLint 先说是什么:ESLint 是一个检查代码质量与风格的工具,配置一套规则,他就能检查出你代码中不符合规则的地方,部分问题支持自动...

vue 单文件 scoped 样式简析

2020-01-09
阅读 2 分钟
2.3k
scoped 是一个极其常用的 <style> 标签属性,使用后这一块样式能“神奇地”只应用在当前单文件组件,不会干扰到其父子组件。

前端网络安全必修 1 同源策略和CSRF

2019-11-11
阅读 4 分钟
5.1k
原文链接:[链接] 本文主要涉及三个关键词: 同源策略(Same-origin policy,简称 SOP) 跨站请求伪造(Cross-site request forgery,简称 CSRF) 跨域资源共享(Cross-Origin Resource Sharing,简称 CORS) 同源策略 SOP 同源 先解释何为同源:协议、域名、端口都一样,就是同源。 url 同源 [链接] 基准 [链接] o [链...

[Vue] 有时候你不需要 $emit & $on

2019-10-16
阅读 2 分钟
2.9k
这是一个评论组件的一部分,button-group 是回复、修改、删除 3 个按钮,点击回复的话下面的 CommentInput 组件会显示。本来想着在那里操作就在哪里取消,但是写完了,产品大人一看,表示不行,按钮不能在上面,应该统一放在评论内容和输入框的下方,不妥协。

前端的一些坑,一些记录,一些冷知识 2

2019-07-26
阅读 5 分钟
3.4k
距离同系列上一篇已经一年了...还是要惊叹时间过得是如此之快。在对前端开发熟悉之后,对“坑”的定义也发生了变化,所以记录的反而少了,留下的都是些比较实用的方法。现在看回来,今年踏出的不寻常的一步是接触了 RN。RN 这个东西...我对他的心情还是挺复杂的。他确实给前端工程师提供了一个方便编写安卓、iOS 应用的方...

有趣的 JavaScript 格式转换

2019-07-24
阅读 4 分钟
3.7k
原文链接:[链接] 之前做文件上传和 canvas 修图时接触到几个格式,这里打算整理一下他们的关系 Blob {代码...} 使用 input 获取文件时,你拿到的就是 file 对象,而 file 继承于 blob,所以直接讲比较陌生的 blob 吧。 BLOB (binary large object),二进制大对象,是一个可以存储二进制文件的“容器”。 Blob 有什么用 使...

必须知道的程序员思维

2019-04-15
阅读 3 分钟
3.7k
易懂的代码首先是有规范的,从目录结构到代码风格,在项目建立初就应该确定,可以写进项目文档中,文档用于给初见项目或是接手的程序员一个概览,介绍一下整体结构,技术栈,以及一些坑。

快速理解 nodejs 模块

2019-03-29
阅读 2 分钟
2.2k
在博客阅读:[链接] 这个小短文用于快速理解 nodejs 模块(也就是 CommonJS 规范)。 本质 module.exports 用于暴露一个值,这个值默认是对象,也可以覆盖为原始值。 尝试在一个文件中直接 log 出 module 的值,可以得到: {代码...} 你需要通过修改 module 的 exports 属性来输出你需要输出的东西,而 require 用于导入...

React 渲染优化:diff 与 shouldComponentUpdate

2019-03-18
阅读 3 分钟
6.6k
我曾经对 shouldComponentUpdate 的用途不解。react 的卖点之一,是通过 diff 虚拟节点树,减少对真实节点的操作,所以我以前以为既然 diff 了,那就自然知道节点有没有更新了,diff 是根据 setState 的内容进行的,那 shouldComponentUpdate 有什么用呢?

react native 原生模块桥接的简单说明

2019-02-26
阅读 4 分钟
6.7k
原文出自:[链接]博客链接:[链接] Android 创建原生模块包 通过继承 ReactPackage 为你的原生模块包创建 Java 类,可以这么写: 覆盖 createNativeModules 和 createViewManagers 方法 {代码...} 在 createNativeModules 方法中添加原生模块 {代码...} 在 createViewManagers 方法中添加原生 UI 组件 {代码...} 创建原...

webpack 的 scope hoisting 是什么?

2019-02-21
阅读 2 分钟
12.4k
scope hoisting 是 webpack3 的新功能,直译过来就是「作用域提升」。熟悉 JavaScript 都应该知道「函数提升」和「变量提升」,JavaScript 会把函数和变量声明提升到当前作用域的顶部。「作用域提升」也类似于此,webpack 会把引入的 js 文件“提升到”它的引入者顶部。

创造属于自己的静态博客

2019-01-31
阅读 2 分钟
3.1k
本文并不是从 0 开始使用 gatsby.js 搭建博客,starter 使用的是 gatsby-starter-blog。使用 gatsby-starter-blog 可以大量节省项目搭建时间,直接得到一个最简单的博客模版,这个模板的缺点是功能少,但是反过来说优点是有较高的自由度。

使用 Gatsby.js 搭建静态博客 7 文章目录

2019-01-31
阅读 4 分钟
4.8k
前面说过基本功能已经添加完了,但是生成目录依然是我 TODO 的头号问题。今天终于把这个问题解决了,本来以为要自己解释 md 文件,没想到自带的插件就有这个功能我却没发现。

浅析 web 前端 MVVM

2019-01-08
阅读 3 分钟
2.8k
记得四个月前有一次面试,面试官问我 MVVM 是什么,MVVM 的本质是什么。我大脑一片混乱,那时我对 MVVM 的认知就只是“双向绑定“和“Vue”,以这个关键字简单回答了几句,我反问 MVVM 的本质是什么,对方就重复一次双向绑定。我怎么觉得对方也没懂就随便这么一问呢...

使用 Gatsby.js 搭建静态博客 5 博客上线

2019-01-02
阅读 2 分钟
4k
netlify 是一个可以帮助你自动部署网站的平台。你可以选择自己买服务器,运行 build 然后推送到自己服务器(或者直接使用 gh-pages),但是使用 netlify 你只需要正常推送项目到 GitHub,netlify 就会自动给你 deploy,这项服务是免费的。

使用 Gatsby.js 搭建静态博客 4 标签系统

2018-12-29
阅读 3 分钟
2.6k
原文链接:[链接] 回顾:使用 Gatsby.js 搭建静态博客 3 样式调整 官方自带标签系统教程,英语过关可以直接阅读官方教程。 以下说一下重点: 提示:以下所有查询都可以在 localhost:8000/___graphql 测试 建立标签系统只需要以下步骤: 在 md 文件添加 tags {代码...} 用 graphQL 查询文章标签 {代码...} 制作标签页面模...

常识级别的 chrome 控制台操作接口

2018-12-28
阅读 2 分钟
1.8k
快 2019 年了,我才去看 chrome DevTools 的 api,唉,晚是晚点,总比不知道好吧?对于这些接口,不知道也不会导致你无法正常开发,但是知道了效率是能提高很多的。其实很多“常识”都因为“太常识”了,所以大家都不说,不讨论,结果知道的人反而不多。

使用 Gatsby.js 搭建静态博客 3 样式调整

2018-12-14
阅读 2 分钟
4.1k
原文链接:[链接] 回顾:使用 Gatsby.js 搭建静态博客 2 实现分页 修复代码高亮 为了测试样式,随便找一个以前的 .md 文件粘贴到 blog 项目中渲染看看效果: emmm,问题大了,必备的代码高亮都没有... 但是当我审查元素时发现,这竟然是已经被分词的状态,又经过一系列的资料搜集,发现 prismjs 已经预装到项目中,那么...

使用 Gatsby.js 搭建静态博客 2 实现分页

2018-12-11
阅读 3 分钟
5.5k
原文地址:[链接] 使用 Gatsby.js 搭建静态博客 1 关键文件 <- 本文将会介绍如何为初始项目添加分页功能。 理解页面创建原理 上一篇的 gatsby-node.js 介绍部分已经说明了页面生成的方法。 未修改前,首页 index.js 存在于 pages 文件夹,不需要在 gatsby-node.js 使用 createPage 函数生成,因为 createPage 多用于...

一个 PWA 的诞生

2018-09-17
阅读 4 分钟
12.7k
PWA(Progressive Web Apps)虽然是网页应用,但是可以带来媲美原生的用户体验,其中包含离线可用,后台推送等功能。PWA 不是一个新名词,早在 2015 年已经提出这个思想,但是直到 iOS12 的发布,PWA 终于可以在 iOS 中添加到主屏,只有安卓和 iOS 都能使用 PWA 的基本功能,它才算是真的开始走近大众。想了解 PWA,可以...

Loader 入门【Webpack Book 翻译】

2018-08-21
阅读 6 分钟
2.7k
原文链接:[链接]翻译计划:[链接]附言:因为发现书中一些内容单独放出来会比较尴尬,所以会跳过部分章节,当然完整版会全部翻译,已经正在研究原版的网站搭建工程了

什么是 Webpack?【Webpack Book 翻译】

2018-08-13
阅读 5 分钟
3.7k
原文链接:[链接]翻译计划:[链接] 涉及到的未翻译单词 input 输入 output 输出 entry 入口文件 bundle 包(打包结果) Webpack 是模块打包器。它可以在打包的同时使用任务运行器。然而,由于社区开发的 webpack 插件,打包器和任务运行器之间的界限变得模糊。有时,这些插件甚至独立于 webpack 使用,例如清理构建目录...