现代 CLI 和 GUI 方案指南

原文链接:http://axuebin.com/articles/fe-solution/cli/desc.html,转载请联系 写在前面 提到初始化项目,那就必须提到脚手架这个名词,那为什么这篇文章的标题不是关于脚手架而是关于初始化项目呢? 脚手架这个名词来源于建筑工程领域,百度百科对其的解释是“ ... »

Chrome插件开发入门

最近学习了Chrome插件的开发,总体来说上手还是很容易的,因为浏览器插件本质上依旧是网页,写几个demo基本就了解了他的开发过程。 ... »

Typescript进阶之路

TypeScript ####何为TypeScript 一、编程语言类型 动态类型语言(Dynamically Typed Language) 类型的检查是在运行时才做 例子 JavaScript、Ruby、Python 静态类型语言(Statically Typed Language) 类型检查是 ... »

javascript 学习笔记01

自增++ 通过自增可以使变量自身基础上加1, 自增分成两种 : 前加加(++a) 和 后加加(a++); 区别:var a = 1 ; a++中a=1 但 ++a中的a=2;自减-- 通过自减可以使变量自身基础上减1, 自减分成两种: 前减减(--a) 和 后减减(a--); 区别:var a = ... »

简单模拟实现javascript中的call、apply、bind方法

引子 读完《你不知道的JavaScript--上卷》中关于this的介绍和深入的章节后,对于this的指向我用这篇文章简单总结了一下。接着我就想着能不能利用this的相关知识,模拟实现一下javascript中比较常用到的call、apply、bind方法呢? 于是就有了本文,废话不多说全文开始! ... »

初学 Babel 工作原理

前言 Babel 对于前端开发者来说应该是很熟悉了,日常开发中基本上是离不开它的。 已经 9102 了,我们已经能够熟练地使用 es2015+ 的语法。但是对于浏览器来说,可能和它们还不够熟悉,我们得让浏览器理解它们,这就需要 Babel。 当然,仅仅是 Babel 是不够的,还需要 polyfil ... »

ES9的新特性:异步遍历Async iteration

ES9的新特性:异步遍历Async iteration 简介 在ES6中,引入了同步iteration的概念,随着ES8中的Async操作符的引用,是不是可以在一异步操作中进行遍历操作呢? 今天要给大家讲一讲ES9中的异步遍历的新特性Async iteration。 异步遍历 在讲解异步遍历之前,我 ... »

Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件

带下拉选项的输入框 (Textbox with Dropdown) 是既允许用户从下拉列表中选择输入又允许用户自由键入输入值。这算是比较常见的一种 UI 元素,可以为用户提供候选项节省操作时间,也可以给可能存在的少数情况提供适配的可能。 本来想着这个组件比较常见应该已经有比较多现成的例子可以直接应用 ... »

JS实现环绕地球飞行的3D飞行线动画效果(JS+HTML)

1.项目介绍 JS+HTML实现绕地球飞行的3D飞行线动画效果,且3D地球可以随意拖动和滑动缩放,画面中心是蓝色地球,地球表面上的两点连线之间有光电随机出现沿着抛物线轨迹3D飞行,可使用较好的浏览器打开,如microsoft edge打开,效果如下图所示: 2.html源码如下所示 <!DOCTYP ... »

PReact10.5.13源码理解之hook

hook源码其实不多,但是实现的比较精巧;在diff/index.js中会有一些optison.diff这种钩子函数,hook中就用到了这些钩子函数。 在比如options._diff中将currentComponent设置为null options._diff = vnode => { curre ... »

webpack核心模块tapable源码解析

上一篇文章我写了tapable的基本用法,我们知道他是一个增强版版的发布订阅模式,本文想来学习下他的源码。tapable的源码我读了一下,发现他的抽象程度比较高,直接扎进去反而会让人云里雾里的,所以本文会从最简单的SyncHook和发布订阅模式入手,再一步一步抽象,慢慢变成他源码的样子。 本文可运行 ... »

Web 前端 - 又不仅限于 Web 前端 - 协程锁问题

前言 最近两天的 web 前端开发中,早前的锁实现 (自旋锁) 出现了一些不合理的现象,所以有了这片随笔 什么是协程锁?能点进这个博客的的你肯定是明白的,不明白的人根本搜不到我这随笔,不多做赘述。 一些个人认识和实现经验 可重入锁:协程由于没有像『线程』那样的变量隔离,即缺少『计数标识』的挂载位置( ... »

Webpack 5 配置手册(从0开始)

针对新手入门搭建项目,Webpack5 配置手册(从0开始) webpack安装顺序 1. `npm init -y`,初始化包管理文件 package.json 2. 新建src源代码目录 3. 新建index.html 4. `yarn add webpack webpack-cli`,安装we ... »

模拟实现AMD模块化规范

引子 本文最后的目的是模拟实现AMD模块化规范,而写下本文的原因是今天阅读到了《你不知道的JavaScript--上卷》中作用域闭包的章节,让我对闭包又有了更深入的理解。 对于闭包的相关知识我之前也根据自己所学到的进行了较详细的总结,大家可以先来看看这篇文章先,写的不好的地方多多见谅,更欢迎提出意见 ... »

ECMAScript 2017(ES8)新特性简介

简介 ES8是ECMA协会在2017年6月发行的一个版本,因为是ECMAScript的第八个版本,所以也称为ES8. 今天我们讲解一下ES8的新特性。 ES8引入了2大特性和4个小的特性,我们接下来一一讲解。 Async函数 我们在ES6中提到了generator,Async函数的操作和genera ... »

前端生成分享海报兼容H5和小程序

### 移动端分享海报生成 最近做项目需求是生成商品分享海报,并且保存到手机中要兼容H5和小程序<br> 与后端同学沟通后,海报在前端生成最省性能和有较好的交互体验,先看做好的效果 ​ ​ 前端框架使用的是uni-app方便打包成H5和小程序 实现方案是拿到后端返回的数据后,利用canvas画布把各 ... »

【ZeyFraのJavaEE开发小知识05】Mybatis-Plus & Axios

关于如何在Mybatis-Plus中添加SQL拦截器 之前ZeyFra在MyBatis-Plus【踩坑记录01】一文中提到过,使用Mybatis-Plus时最好使用MybatisSqlSessionFactory,而不是使用Mybatis原生的SqlSessionFactory,这也是官方文档的建议 ... »