SF
smohan
smohan
注册登录
关注博客
注册登录
主页
关于
RSS
如何实现一个颜色选择器
Smohan
2019-08-08
阅读 7 分钟
4.7k
在开发公司UI组件库的过程中,颜色组件ColorPicker由于时间关系没有去深入研究,看着花花绿绿的色谱图,以为实现起来会很复杂,就直接将一个开源的颜色选择器封装了一下。这大概是半年以前的事了,这篇文章也在我的博客中以草稿形式(只有标题没有内容,当时是做了一个记录,想着后来有时间了去研究,目前这种草稿还有很...
基于Webpack/TypeScript/Koa的环境配置
Smohan
2019-07-02
阅读 8 分钟
4.7k
TypeScript是一种开源编程语言,在软件开发社区中越来越受欢迎。TypeScript带来了可选的静态类型检查以及最新的ECMAScript特性。作为Javascript的超集,它的类型系统通过在键入时报告错误来加速和保障我们的开发,同时越来越多对的库或框架提供的types文件能够让这些库/框架的API一目了然。我对这门语言垂涎已久,但是迟...
Query.js - 类SQL前端数据查询类库
Smohan
2018-05-19
阅读 3 分钟
6.3k
[Parameter Collections] 从数据中选取一个从开始索引(start)到一个结束索引(end)之间的部分的浅拷贝出来作为目标对象,参数同Array.prototype.slice。多次调用以最后一次收集到的参数为准。
在原生CSS中使用变量
Smohan
2018-02-28
阅读 5 分钟
4.2k
一直以来,CSS作为一种申明式的样式标记语言,很难像如javascript等命令式编程语言一样通过定义和使用变量的方式来维护和追踪某些状态。后来随着scss,less等CSS预处理器的出现,我们可以像优秀的开源框架bootstrap那样,通过维护一个_variables.scss变量文件的方式来维护一个庞大的项目。但预处理需要编译,并非CSS原生...
在Centos上安装phantomjs的过程
Smohan
2018-02-22
阅读 4 分钟
7.7k
想着在年前把博客更新升级一下,于是顺手修复了一些已知的BUG,优化了留言模块,升级了nginx,更是为了利于SEO,在webpack的编译中加入了prerender-spa-plugin预渲染模块。经本地window主机测试后,一切OK。这便着手在线上Linux主机中配置,nginx, node, mongod 等的升级一切顺利,但就是在项目中 npm install 的时候卡...
你不知道的CSS(三)
Smohan
2017-09-16
阅读 4 分钟
7.3k
在前面两篇文章《你不知道的CSS(一)》和《你不知道的CSS(二)》中大致介绍了一些CSS方面比较隐晦的但又很实用的技巧。相信这些技巧会为大家在项目实践中带来一定的帮助,本文作为《你不知道的CSS》系列的第三篇文章,将继续在CSS技巧方面进行探讨,不同于前两篇的是,本文将着重介绍CSS中伪类和伪元素在项目中的应用...
你不知道的CSS(二)
Smohan
2017-09-08
阅读 5 分钟
6.7k
本文首发于我的博客在上文《你不知道的CSS(一)》中,介绍了兄弟选择器美化表单,font-size:0消除间隙,overflow清除浮动,border绘制三角形等7个实用技巧。由于文章长度限制,还遗留了一些技巧没有介绍,考虑到日后可能会有更多的技巧需要补充进来,便将上文改名为你不知道的CSS(一),名字其实有点浮夸,希望能完善...
你不知道的CSS
Smohan
2017-09-03
阅读 6 分钟
9.1k
CSS的世界是神奇的。随着各浏览器WEB标准的日趋统一,CSS在WEB世界中扮演的角色也愈发的重要。甚至于在GitHub上出现了You-Dont-Need-JavaScript这样Star近万的优秀开源项目,抛开该项目的实用性不说,项目中的众多的DEMO就已经证明了CSS的强大。当然,这篇文章不是为了介绍这个项目,而是整理了一些实用的CSS技巧,来解...
不可思议的CSS之clip-path
Smohan
2017-08-30
阅读 4 分钟
25.6k
曾经和某位朋友在聊天中讨论过这样一个话题:综合90%的网站的布局以及页面中的元素不是方的,就是圆的。就像所有的颜色都是由三原色(RGB)构成的一样,所有规则的形状似乎也都是由方和圆组成的;抛开设计效果的好看与否不说,似乎不规则的设计在实现(CSS)成本上也是一个麻烦,毕竟在CSS3之前,我们实现一个圆都要切图...
CanvasTools - 基于Canvas的截图辅助工具集
Smohan
2017-06-06
阅读 1 分钟
6.8k
项目构思来源于知乎建议反馈功能中的截图反馈。期初看到该功能,惊为天人,不得不佩服知乎对用户体验的细节追求。然后又对比和参考了QQ截图(基本样式来源于此),花了三天时间完成了CanvasTools项目的构建。截止目前,在完成了大部分功能的同时,也学习了大部分的Canvas API:
javascript中让人懵逼的类型转换
Smohan
2017-05-06
阅读 2 分钟
2.4k
最近在读《你不知道的javascript》系列图书,收获蛮大,感慨也挺多的。是的,关于javascript,你不是不知道,而是真的不知道。?就比如类型转换,从开始到看完到第二第三第N遍,我经历了如下的心路历程:这有什么不知道的 → 一脸懵逼 → 有点意思 → 卧槽,怎么这样? → 原来是这样 → 靠,还是坑...真可谓是不学不知道,一学...
使用Vue实现一个分页组件
Smohan
2017-03-08
阅读 7 分钟
59.6k
分页是WEB开发中很常用的功能,尤其是在各种前后端分离的今天,后端API返回数据,前端根据数据的count以及当前页码pageIndex来计算分页页码并渲染到页面上已经是一个很普通很常见的功能了。从最开始的jquery时代到现在的各种各样的前端框架时代,分页功能都是必不可少的。分页大多数(基本上)情况下都是对异步数据列表...
Vue2.0利用vue-resource上传文件到七牛
Smohan
2017-02-25
阅读 5 分钟
22.7k
关于上传,总是有很多可以说道的。16年底,公司项目番茄表单的前端部分,开始了从传统的jquery到vue 2.0的彻底重构。但是上传部分,无论是之前的传统版本,还是Vue新版本,都是在使用着FileAPI这款优秀的开源库,只是进行了简单的directive化。为什么呢?因为兼容性。没办法,公司项目不等同于个人项目,必须要考虑大多...
Mongoose简要API
Smohan
2017-02-16
阅读 5 分钟
5.9k
因此,要使用mongoose,则必须安装node.js环境以及mongodb数据库。mongoose使mongodb操作更简单便捷。可以在github中获得其源码,也可以在这里查看api文档,英文的,文档内容较多,因此本文特意总结下mongoose的schema数据模型定义以及简单的增删改查api。
Mongoose 多条件模糊查询的实现
Smohan
2017-01-18
阅读 1 分钟
16.6k
这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE '%keyword%' or email LIKE '%keyword%' 这种多条件模糊搜索的问题。 查阅了mongoose文档才得以实现,特此记录一下。