gulp是我编译sass与js的不二利器(比webpack好用),但这几天突然发现,gulp watch时,通常莫名其妙的退出,然后实时编译就断了,然后你还在奇怪为什么改了样式没反应。

gulp实现编译sass时,容易频繁出错,比如你写了个ma没按tab就手贱按了保存,sass一编译,不认识ma,就报错了,如果此时导致watch被退出,那后续编译就中断了。报错导致退出,很正常,但如果报错很频繁又每次都导致退出,那人都要疯了。

于是我只有找一下如何让gulp的watch任务在出错时不自动退出。

很简单,我直接说结论

在gulp的task里,加入onerror监听,在监听函数中,处理错误并触发end。代码如下:继续阅读

本文属于《javascript基础纪要》的一节。

今天在家看书:《你不知道的Javascript》,看到构造函数调用时会绑定this,就顺便打开控制台输了一些代码,详细测试了一下。

构造函数简单的讲,即定义出来专供new 式调用的函数。如:

1
2
3
function A(b) {
    this.b = b || 'bbb';
}

然后你就可以通过new ,来构建一个 A 的实例:

1
var a = new A('B')

但是,一个首要的坑是,构造函数与一个普通函数并无不同,如果你故意不使用new,或忘记用new,都会得到奇怪的错误:继续阅读

rowspan跨行是table的一个很正常的需求,而tr的hover效果更是普遍。但既有rowspan又需要行的hover效果时,往往看到的就是这样:

简直不能忍!!

前几天碰到这问题时,我本打算写些JS代码来解决,但写起来比较复杂,虽然后面我想到了一种相对简单的思路,但需要html本身可控(就是html啥样可以由你决定),不适合大部分情况。

后来我觉得,这样一个显著的问题,不可能前人没有碰到过。于是用Google搜索之,果然。

解决思路很简单,我甚至不需要给大家列举代码,只口述即可。

继续阅读

自从我按上一篇文章里改了xmlrpc.php受攻击的问题后,网站一直稳定运行,哈哈,心情舒畅!看来并不是空间商的错了。

本文插了一张图,是放在七牛云上的,如果加载不了,则表明七牛云的外链出了问题。

七牛有一个非常好的地方,在于你可以随意调用一张图片的不同规格,比如加上缩略图,加水印等。示范:继续阅读

最近我的wordpress空间总是报“资源使用超限”的错误,经常导致网站进不去了。而且有时候是我忙了好多天偶然来看下网站,却发现不能访问,真是让人惶恐。

多数资源超限的情况,看空间的cpanel,都是cpu 100%,或Entry Processes达到了10,有一次是磁盘用光了。cpu 100%我以为是空间太差,磁盘用光了这种错哪会出现啊!?结果ftp登上去找了一圈,发现根目录下生成了一个400多M的.errlog文件,fuck!

磁盘满事件过去几天了,我网站还是经常崩溃,而空间商也找不到原因。让我很失望,都打算另找一家了。

结果今天进cpanel,在Metrics面板下看到了Visitors链接,一时好奇进去看,发现:继续阅读

作为一个技术人员,经常需要用QQ发些网址或代码与其他人交流.但如果不凑巧你发的代码里有/开头的一些特定字符,QQ就会给你解析成表情,这让代码根本没法读了.在发送大段代码时,这种情况更容易出现.

实际上要解决这个问题很简单,只要在QQ聊天窗口你输入文字的地方右键,取消”使用快捷键输入表情”前面的勾勾,然后你发的网址,或者代码,就是纯文本了,不会再被转换成表情.

现在脚儿网已经搬到了host2ez的香港空间,ping值在70ms左右(以前的是270ms左右),大家有没有感觉快了那么一丝?

之所以搬家,是因为对原网站的速度不是很满意,再加上最近网站貌似出了问题,就是没法在线安装主题和插件了,询问空间商后觉得是自己网站程序出了问题——以前都是可以的,所以我就决定干脆把网站搬家吧,早就想换个快点的空间了。

记得我以前有写过wordpress整站迁移的文章,这里顺带提一些注意事项。继续阅读

最近在新买的笔记本上使用sublime text2,发现原来他启动并不慢,不知为什么在我台式机上那么慢。

言归正传,偶然在网上听说sublime text2出了新的zen coding插件,而且名字都改了,现在想在sublime text2里面使用zen coding,有两个插件可以安装,一个是原来的zen coding,另一个就是新的emmet。emmet是由zen coding的创始人Sergey Chikuyonok在亲自维护,其github地址:https://github.com/sergeche/emmet-sublime/

要安装emmet,最好是通过sublime text2中的package control插件,而且最好不要同时安装zen coding和emmet,容易冲突。

另外说说emmet插件的一个设置问题。之前的zen coding插件也有这么一个问题:当html文件的文档类型(doctype)不是xhtml时——即是html4.0或html5,那么zen coding在输出那些自闭合标签时,就会不输出最后的/,比如<img>本来正常的应该是:<img src=”” alt=”” />,但在上面这种情况下则只会输出:<img src=”” alt=””>,没有/了。

这显然是作者故意为之,但我觉得没有/反而不标准了,而且会导致一些问题,所以,在之前使用zen coding插件的时候,我就发邮件问了作者,怎么强制输出最后那个/,不管是什么DOCTYPE.

原作者也回复了,我也修复了原zen coding插件的这个问题。但不幸的是,我用了emmet之后,又发现了这个问题,而我又不知道怎么改了,于是我又厚颜无耻的发邮件问原作者了!

虽然这次作者回的邮件很简单,没有直接解决我的问题,但通过他给的链接,我还是最终找到了解决这个问题的办法:

打开你emmet插件目录下的Emmet.sublime-settings文件,查找其中的syntaxProfiles(如果你从没改过这个文件,那么直接拉到文件最后几行),在syntaxProfiles的大括号里,作者都已经直接给出了”html”: “xhtml”,不过是注释掉的,去掉注释就行了。

“html”: “xhtml”定义的意思就是,把html的doctype也强制像xhtml那样输出,这样,就解决了在非xhtml文档中,自闭合标签不输出最后的/的问题。

虽然改起来很简单,但找不到位置就没法改了,记录在此,以备需要之人使用。

另外,作者Sergey Chikuyonok人真的很好,虽然他已经属于世界顶尖的程序员了,但并没有给我一种“很忙”的感觉,前前后后回复了我几次邮件,十分感谢。

本文属于高性能web前端优化系列

css压缩,这里不是指把他用winrar之类的工具给制成压缩包——那样他就没用了。这里的压缩可以理解为:减小体积

有的人喜欢保持良好的编码习惯并为之自豪,我也是。css的良好编码习惯,其中有一条就是,每个属性就写一行,这样写下来,一个普通的网站,css代码能写上几千行。

虽然良好的编码习惯,如良好注释,保持缩进,能让代码更容易阅读,更容易维护。但在网站发布时,尽量减小CSS的体积才是王道,毕竟网站的访客只对你网页内容感兴趣,对你源码感兴趣的不到1/1000。继续阅读