读zent源码库之Dialog组件实现

2018-06-21
阅读 4 分钟
2.7k
1、Dialog组件提供什么功能,解决什么问题? zent的Dialog组件,使用姿势是这样的(代码摘自zent官方文档:[链接]) {代码...} 可以通过visible属性控制弹层的显示与隐藏 可以随意的在Dialog组件里添加任意多的内容 可以在任意位置使用Dialog组件 2、如果我来实现会怎么做? 如果我来实现,其实很简单,用jQuery已经写了...

组件库构建过程

2018-06-12
阅读 6 分钟
7.6k
最近在项目内部创建了一个vue组件库,希望通过组件库的形式,统一项目中组件的逻辑和样式,让代码的复用性更强。 这篇文章主要是梳理组件库的整个结构和构建过程。 结构 首先在这里介绍一下组件库的代码结构,上面是整体代码目录结构,每个目录的作用如下: packages:组件源码位置,每个组件作为一个子目录;同时提供pa...

Http协议构成

2018-06-03
阅读 6 分钟
4.9k
词条解释:经过谈判、协商而制定的共同承认、共同遵守的规定与条款。标准协议:买票上车,司机与乘客都认同协议,只要乘客买了票,司机必须让乘客上车。流氓协议:生米煮成熟饭。

在使用es6语法class的时候,babel到底做了什么?

2018-06-01
阅读 6 分钟
4.2k
自从有了webpack之后,我们这些jscoder似乎得到了前所未有的解放,箭头函数,对象解构,let,const关键字,以及class、extends等等关键字使用得不亦乐乎,反正,webpack会帮我们把这些es6代码转换成浏览器能够识别的es5代码,那么,我们有多少人真正的看过,babel转换之后的代码呢?今天,我就来看一下,当我们使用关键...

【web安全系列】(一)浏览器安全

2018-05-31
阅读 3 分钟
5.6k
作为一个web开发人员,浏览器安全是不可或缺的知识。一方面,浏览器天生就是一个客户端,如果具备了安全功能,就可以像安全软件一样对用户上网起到很好的保护作用;另一方面,浏览器安全也成为浏览器厂商之间竞争的一张底牌,浏览器厂商希望能够针对安全简历技术门槛,已获得竞争优势。

区块链扫盲

2018-05-31
阅读 2 分钟
6.1k
最近一年多的时间里,区块链及其应用得到了飞速的发展,尤其是数字货币动辄几十倍的涨幅造就了不少财富神话。到底区块链是什么,数字货币与区块链有什么关系,本文将会做一个入门式的探讨。

深入理解css之line-height

2018-05-19
阅读 3 分钟
11.9k
行高,顾名思义是一行文字的高度,而从规范上来说则是两行文字基线之间的距离。行高是作用在每一个行框盒子(line-box)上的,而行框盒子则是由内联盒子组成,因此,行高与内联元素可以说是非常紧密,行高直接决定了内联元素的高度(注意:这里的内联元素不包括替换元素);对于块级元素和替换元素,行高是无法决定最终高...

React Form组件杂谈

2018-05-06
阅读 9 分钟
10.9k
对于网页系统来说,表单提交是一种很常见的与用户交互的方式,比如提交订单的时候,需要输入收件人、手机号、地址等信息,又或者对系统进行设置的时候,需要填写一些个人偏好的信息。 表单提交是一种结构化的操作,可以通过封装一些通用的功能达到简化开发的目的。本文将讨论Form表单组件设计的思路,并结合有赞的ZentFo...

组件库使用BEM

2018-05-06
阅读 1 分钟
2.7k
逻辑分层,容易理解。BEM基于block、element、modify的组织形式,基本与组件的组织形式吻合。只要遵循了BEM的命名方式,对于开发和修改组件,哪些元素和状态已经存在,都可以直观的看出来。反过来,通过html标记的BEM命名,可以直观地理解组件的功能和依赖关系。

深入理解css盒子模型

2018-05-02
阅读 8 分钟
16.1k
css是一门具象语言,并不像js那样具有逻辑性,因此,就算入行了前端很久的工程师,也觉得css难以掌握。下面我们就一步一步揭开css的神秘面纱,深入理解css盒模型,这对我们在布局上会有一个质的提升。

Styled-Components

2018-05-02
阅读 11 分钟
30.8k
它是通过JavaScript改变CSS编写方式的解决方案之一,从根本上解决常规CSS编写的一些弊端。通过JavaScript来为CSS赋能,我们能达到常规CSS所不好处理的逻辑复杂、函数方法、复用、避免干扰。尽管像SASS、LESS这种预处理语言添加了很多用用的特性,但是他们依旧没有对改变CSS的混乱有太大的帮助。因此组织工作交给了像 BEM...

原汁原味的配方:「微信小程序支持 NPM」

2018-05-02
阅读 4 分钟
7.2k
在现代的 Web 开发中,我们对 Webpack 已经再熟悉不过了,简单理解,它就是项目发布之前,把所有资源都打包好,然后提供一个入口文件,在入口模板中引入这个入口文件。

redis在nodejs中的应用

2018-05-01
阅读 4 分钟
9.4k
redis是一个性能非常好的内存数据库,部署在应用程序和mysql数据中间做缓存数据库,可以极大的提升应用程序的性能,这里简单介绍nodejs客户端操作redis的demo程序

Nginx 反向代理常用配置

2018-04-29
阅读 2 分钟
2.9k
在计算机中,客户端A与服务端B进行通信,中间加入中介C进行数据传递,则形成了代理。来个浅显易懂的比喻,三年级二班小明和小花谈恋爱,由于小明和小花座位离的太远,这时候需要小王在中间传递纸条,在这个爱情故事中小王在中间充当了代理作用。

《前端竹节》(3)【原型与对象】

2018-04-21
阅读 4 分钟
1.7k
一直以来都想写篇文章梳理一下这块,为了加深自己的理解,也为了帮助后来者尽快出坑,但总觉缺少恰当的切入点,使读者能看到清晰的路径而非生硬的教科书。最近看到句话“好的问题如庖丁之刃,能帮你轻松剖开现象直达本质”,所以本文以层层探问解答的方式,试图提供一个易于理解的角度。

《前端竹节》(2)【正则表达式】

2018-04-17
阅读 3 分钟
1.9k
正则表达式在前端开发中,对于字符串处理任务来说,绝对是一件可以祭出的大杀器。同时对于前端开发人员来说也是一项基本技能,但若只是停留在能看懂,知道去哪查的阶段,那距离得心应手地运用差的可能不止一步两步。

初探小程序插件

2018-03-15
阅读 2 分钟
4.4k
周二晚上的一个小程序新功能发布了-【小程序插件】,一开始以为是小程序发布了类似npm的组件管理工具,可以供开发者方便的使用其他人提供的组件,然后就将最近做的一个功能改成插件提交审核【生成分享海报的插件(就是下载远程图片渲染到canvas生成图片的功能)github地址】,然后就被微信残忍的打回来的,如下:

JS设计模式--装饰者模式

2018-03-12
阅读 4 分钟
6.4k
所谓装饰者模式,就是动态的给类或对象增加职责的设计模式。它能在不改变类或对象自身的基础上,在程序的运行期间动态的添加职责。这种设计模式非常符合敏捷开发的设计思想:先提炼出产品的MVP(Minimum Viable Product,最小可用产品),再通过快速迭代的方式添加功能。

《AI之矛》(1)【数独Agent】

2018-02-03
阅读 4 分钟
3.1k
学习是为了寻找解决问题的答案,若脱离了问题只为知晓而进行的打call,那么随时间流逝所沉淀下来的,估计就只有“重在参与”的虚幻存在感了,自学的人就更应善于发现可供解决的问题。为了入门AI,定个小目标,解决数独问题。

浅谈React的V-DOM结构

2018-01-27
阅读 3 分钟
4.2k
只要是搞前端的对于React这个框架一定不会陌生,React以组件为出发点将一个复杂的页面,划分成若干个不同功能的模块,有些模块还可以抽象出来成为能在项目中复用的组件,甚至还能完全脱离业务成为一套使用不同项目的React组件库;然而React是通过V-DOM这种结构体来编织组件构成不同的页面;接下来就让我们好好看看V-DOM...

了解Chrome扩展程序开发

2018-01-10
阅读 6 分钟
6.4k
Chrome扩展主要用于对浏览器功能的增强,它强调与浏览器相结合。比如Chrome扩展可以在浏览器的工具栏和地址栏中显示图标,它可以更改用户当前浏览的网页中的内容,也可以更改浏览器代理服务器的设置等等。

mysqljs在koa2中的正确姿势

2018-01-09
阅读 3 分钟
6.7k
截止到今天,mysqljs在github上已经获取到了10000+star了,可以说是实实在在最流行的mysql驱动了,但是要把mysqljs应用到koa2中,似乎不太方便,koa2使用最新的语法async, await,而mysqljs,却还停留在callback阶段。

JS语句为什么不能以“function”与大括号开头

2018-01-05
阅读 2 分钟
3.1k
JS中,应用程序是由许多语法正确的语句组成的,语句的作用就是告诉浏览器应该怎样执行程序。语句之间使用“;”作为结尾,其中主要包括表达式语句、块语句、空语句和声明语句,这里不细讲。

杂谈数据类型获取

2018-01-05
阅读 4 分钟
2.2k
在js中数据我们经常需要判断或者获取数据类型,大部分时候我们都是通过type加instanceof来组合判断数据类型来实现,大部分代码中对于数据类型的获取处理都比较丑陋,前段时间看了一下Q的源代码中对数据类型的判断与获取处理,看起来相当简洁也比较好用,这篇文章来进行一下发散。

linux字符处理

2018-01-05
阅读 3 分钟
2.5k
举个例子:后端提供某个接口,接收请求的时候其中一个参数死活收不到,但你确信这个参数是百分百已发送的,于是你查看请求记录日志文件,找出所有发送记录数据,与后端同学一起排错(撕逼)。

使用docker部署node集群

2017-12-31
阅读 3 分钟
6.7k
本文会通过三个简单的demo,演示如何通过docker部署node集群。 如果想学习docker,官方文档是一个不错的入门指引,或者可以看这个gitbook。 一、部署node容器 首先准备一个node服务demo,代码如下: {代码...} 部署node服务 制作自己的node服务镜像,最简单的方式就是基于已有的node镜像,在此基础上,添加自己的内容,...

通过nodejs实现自定义命令

2017-12-25
阅读 3 分钟
10.2k
我们开发用到的一些库都有自己特有的命令,如webpack,babel和jest等。通过给这些命令输入不同的参数,可以得到相应的功能。通过篇文章,你将学会如何一步步地编写运行在弄的环境的自定义命令。

如何在小程序中使用雪碧图

2017-12-24
阅读 4 分钟
10.4k
小程序对上传的代码有2M的大小限制,因此一般在小程序中使用icon的时候,要么是用icon-font,要么就是将icon图片上传到cdn再使用,而不会将图片放在本地。但是使用icon-font有一个问题,就是不能使用渐变色,因此,需要渐变色的icon都只能使用图片来完成。如果这样的icon少还可以手动一张张上传到cdn,但是多到10-20张,...

javascript的函数式编程介绍

2017-12-17
阅读 3 分钟
2.4k
在编程的世界里有两种基本类型的编程:函数式编程(OFP):强调将一系列的“动作”组合成一个体系;对象式编程(OOP):强调将一系列的成分聚合到一个类中;对于javascript这种弱类语言来说,它既有OOP的特点(通过class或者prototype封装一个类),又有OFP的特点。而接下来主要介绍一下js的OFP。

React Ref or Not?

2017-12-11
阅读 4 分钟
4.9k
React的Ref特性是React声明式编程(Declarative Programming)设计哲学的一个重要补充。之前对它的认识只是停留在非受控组件这种特殊场景,直到最近为了实现项目中的一个特殊功能,才对它有了更深的理解。