用vscode开发微信小程序

2016-10-11
阅读 1 分钟
69.7k
微信小程序有自己的开发工具,是基于nw.js写的。做的比较简洁,基本的代码编辑、智能提示、调试等功能都有。不好的地方也很明显,不支持查看引用,不支持代码重构,最可恶的是居然不支持自家api的智能提示,写起代码来不够畅快。

用react-native+typescript+redux写糗事百科app

2016-08-19
阅读 1 分钟
6.3k
最近一段时间都在玩react-native,在React-Native学习指南里看到有人做了个react-native的糗事百科客户端,点进去看发现代码也是一年前的了,便打算自己写一个练练手。

一起来为koa2中间件写definitions吧

2016-04-07
阅读 4 分钟
6.3k
前阵子koa2发布了,一些中间件也增加了对koa2的支持,这当然是大大的好事了。但是,像我这样喜欢用typescript+koa2写node的人来说,某个中间件没对应的.d.ts文件会是件很蛋疼的事。

用typescript写react和node是怎样的一种体验

2016-04-06
阅读 3 分钟
20.9k
接触typescript挺早的。13年底的时候,公司的牛人在团队内推广typescript,没多久我们就把typescript做的项目搞上了生产环境。玩新东西的初期都是很爽的,但没多久就变成了灾难。团队人员更替,培训/学习成本增加;开发工具不统一,效率极其低下;ts带来的利好被消耗的一干二净,只有无尽的坑。种种不顺,最后不得不把所...

用typescript来写npm模块

2016-03-28
阅读 2 分钟
9.3k
然而,模块调用者要使用这些模块,依然要去npm仓库或者github上仔细看该模块的api,哪些方法该传什么类型的参数,返回什么类型的值都需要注意。

Array.from的妙用

2016-02-18
阅读 2 分钟
19.8k
es6新特性中Array类多了一个静态方法from,这个方法作用是将一个ArrayLike对象或者Iterable对象转换成一个Array,本文只讨论ArrayLike对象相关内容。

命令行工具因换行符导致的问题

2015-12-07
阅读 1 分钟
3k
#!/usr/bin/env node这行代码换行后在windows上是#!/usr/bin/env node\r\n,而osx上的换行符为\n,所以在Mac上执行程序就是node\r,当然会报错了。

用Node.js写的看股票的命令行小工具

2015-12-04
阅读 1 分钟
8.9k
这几天抽空写了个看股票的命令行小工具wstock,上班的时候开着看一看也挺不错的。 支持A股、美股、港股,股票数据是从雪球财经采集。 安装 {代码...} 命令 {代码...} 工具提供5个功能: 添加股票 {代码...} 本地存了个stock.json,执行add命令会把股票添加到此文件 删除股票 {代码...} 从stock.json中删除对应股票 查询...

用Visual Studio Code写Node.js

2015-09-11
阅读 2 分钟
15.9k
visual studio code(以下简称vsc)最近更新到了0.8.0版本,新加的一些特性都很nice。多了几个配色方案(流行的monokai配色也有了,虽然效果并不好),也支持自定义安装目录了。最让我感动的是对jsx文件做了语法高亮,写react的时候再也不是一片黑色了。

css sprite合并

2015-09-09
阅读 2 分钟
4.3k
今天node.js发布了v4.0.0,兴高采烈地升了级,跑koa的时候再也不用node --harmony了,真是nice啊。 下午同事提了个css sprite的需求,要求写的时候是引用小图,发布的时候用工具合成大图,减少合并的工作量。fis3能做这个,果断用起。 npm install fis3 -g fis3 release -d ./dist duang!!!有警告,csssprite这个模块不...

gulp-ruby-sass与gulp-sass

2015-08-19
阅读 3 分钟
20.3k
平常写sass的时候保存即编译这个是很有必要的,但最近我一直在用visual studio code开发,这个编辑器还不太成熟,不支持编译sass的功能,只能自己写脚本去搞了。

gulp.js 4.0试用

2015-04-22
阅读 1 分钟
2.9k
最近试了一下gulp.js 4.0,增加了一些新特性,gulp.parallel和gulp.series是挺不错的改进。但是又不得不吐槽一下,这两特性写起来真是特别的蛋疼。

php函数中文帮助文档生成工具

2015-03-12
阅读 1 分钟
3.7k
虽然PIV解决了函数帮助文档的问题,但又带来另一个问题,tm全英文的文档,看的头疼。最后决定自己搞个工具,生成中文文档,方便自己,能方便他人那是最好了。

Node.js调试

2015-02-07
阅读 2 分钟
10.2k
node.js发展到现在已经好几年了,但不给力的是,node.js的调试工具却一只手都可以数过来。node debug、node-inspector、NTVS、webstorm、node-webkit,也就这5个了。 刚开始学node.js的时候,一直在用node-inspector,虽然很麻烦,但聊胜于无。后面公司牛人推荐使用node-webkit,就再也没用过node-inspector。再后来node...

gulp-content-includer--合并按模块引入的html文件

2014-11-14
阅读 1 分钟
12.2k
最近在sf看到好多人提问,问怎样合并include的html文件。这个问题用gulp来解决真是太easy了,早上搜索了一下gulp的插件库,发现好多这样的插件。点进去看了后,发现好多都太弱了,就决定自己写一个,于是就有了下面这个插件。

将文件转成utf8编码的gulp插件——gulp-utf8-convert

2014-11-07
阅读 1 分钟
6.7k
平常做项目的时候,因各开发人员的编码工具或者编码习惯的差异,写出的代码文件编码不符合规范,导致线上功能出现乱码的情况还是时有发生的(很低级吧)。通过规范似乎不能杜绝这个问题,而用工具则可以很好地解决这个问题。文件编码检测应该算是团队工具的最基本功能了。

用koa.js写的博客系统

2014-10-29
阅读 1 分钟
7.4k
对异步的方法thunk化时用thunkify-wrap这个库,比TJ那个thunkify好,支持传上下文。例如: thunkify(XXModle.fetch,XXModel),在使用mongoose的时候比较方便。

我的vim配置

2014-10-24
阅读 1 分钟
3.2k
大学里刚学js那会,在网上找别人的视频看,发现别人用的编辑器写代码速度那叫一个飞快,从此开始了解到vim,也开始了我的vim使用之路。 工作后团队要求统一使用vs编辑器,但也不是强制的,偶尔也用下vim。后面引进了typescript,这坑爹的东西不用vs不行,于是有好长一段时间没使用过vim。再然后,各种原因,我放弃了types...

贡献gulp插件两枚

2014-09-26
阅读 2 分钟
4.4k
最近将项目的构建工具换成了gulp.js,实在受不了ant了,也没打算考虑grunt。具体为啥选gulp,最主要的原因还是讨厌写配置。 编写构建脚本过程中发现有些功能都没有现成插件可用,干脆自己写了得了。 我们做前端项目可能会面对如下两种场景: 有些页面(比如网站登录页)脚本并不多,为了减少请求不会引用外部脚本,而改...

数组的flatten

2014-08-11
阅读 1 分钟
3.4k
微博上看到有人说手工实现个_.flatten(将[1,[2,[2,1]],2]变为[1,2,2,1,2])就可以给他发简历了,发简历没什么兴趣,倒是可以试着实现一个。想了想其实这个不难,我的实现如下:

用iScroll实现的图片查看器

2014-06-26
阅读 6 分钟
8.1k
自行给图片元素绑定touch事件,而不用iScroll的onScrollStart(Move、End)。避免在zoom状态切换时zoom状态判断出错。

爬坑记

2014-05-16
阅读 1 分钟
3k
最近手机项目又遇到了好多坑,整理下一下 1. ios的无痕浏览模式下不能操作本地存储 {代码...} 2. 安卓4.xx的input文本框在内容为空时按删除键不会触发onkeydown事件 {代码...} 3. 小米手机自带浏览器下载文件失败的问题 {代码...} 以上问题是近期遇到的比较蛋疼的问题,死了好多脑细胞,后续会继续补充一些遇到的坑。

判断手机浏览器是否支持contentEditable属性

2014-04-28
阅读 1 分钟
6.4k
在公司项目中遇到这样的问题,手机邮箱回复原邮件时需要不丢失原邮件样式。因此编辑器只能用div+contentEditable,但contentEditable属性低版本的安卓又不支持。如何做到优雅降级呢?对于支持contentEditable的浏览器上使用div,不支持的就用textarea。这个问题就变成了如何才能有效地判断浏览器是否支持contentEditable。

通过网络代理安装node模块

2014-04-09
阅读 1 分钟
3.9k
公司虚拟机无法访问外网,用npm install安装不了node模块,通过网络代理可以解决。 - 安装fiddler,设置允许远程访问,重启fiddler - 配置虚拟机npm设置。 {代码...} 或者直接代理到可访问网络的机器 {代码...} - 正常安装node模块 {代码...}