代码改变世界

随笔分类 -  NodeJS

为什么watch机制不是银弹?

2014-11-17 01:32 by Justany_WhiteSnow, 679 阅读, 收藏, 编辑
摘要: 几乎所有构建系统都选择使用watch机制来解决开发过程中需要反复生成构建后文件的问题,但在watch机制下,长期以来我们必须忍受修改完代码,保存完代码必须喝口茶才能刷新看看效果的问题。在这里我们尝试探讨为什么watch不是银弹,并尝试寻找一种更好的方案来解决这个问题。watch基于的事实当一个文件修... 阅读全文

NodeJS的url验证库模块url-valid

2013-11-17 15:31 by Justany_WhiteSnow, 3888 阅读, 收藏, 编辑
摘要: 这是我10月份做的项目其中的一个部件,主要用于url检验的。我们知道Javascript做url检验,通常是使用正则表达式来判定,其格式是否正确,例如:/^https?:\/\//.test(url);当然还有更好的检测方法比如基于RFC 3986, RFC 3966, RFC 4694, RFC 4759, RFC 4904等标准的进行验证的valid-url库。不过个根据格式进行验证当然不能确定该url是否存在啦,所以就有了url-valid,我们基于HTTP请求进行验证。接口设计实际上我们只需要一个函数传入一个url地址,并回调返回该链接是否可用。但请求容易产生未知错误,所以我们在回调函 阅读全文

NodeJS的url信息截取模块url-extract

2013-09-12 22:49 by Justany_WhiteSnow, 3207 阅读, 收藏, 编辑
摘要: 上一篇文章,介绍了怎么利用NodeJS + PhantomJS进行截图,但由于对每次截图操作,都启用了一个PhantomJS进程,所以并发量上去后,效率堪忧,所以我么重写了所有代码,并将其独立成为一个模块,方便调用。 阅读全文

NodeJS + PhantomJS 抓取页面信息以及截图

2013-08-26 09:30 by Justany_WhiteSnow, 52008 阅读, 收藏, 编辑
摘要: 利用PhantomJS做网页截图经济适用,但其API较少,做其他功能就比较吃力了。例如,其自带的Web Server Mongoose最高只能同时支持10个请求,指望他能独立成为一个服务是不怎么实际的。所以这里需要另一个语言来支撑服务,这里选用NodeJS来完成。源码地址对源代码感兴趣的朋友可以在Github获取:https://github.com/miniflycn/url-extract安装PhantomJS首先,去PhantomJS官网下载对应平台的版本,或者下载源代码自行编译。然后将PhantomJS配置进环境变量,输入$ phantomjs如果有反应,那么就可以进行下一步了。利用P 阅读全文

利用connect建立前端开发服务器

2013-08-12 13:12 by Justany_WhiteSnow, 3186 阅读, 收藏, 编辑
摘要: 对于前后端完全分离的系统,开发时候我们需要给前端配置服务器,当然我们可以选择Nginx之类的服务器进行配置,但我们也能使用NodeJS构建高自由度的前端开发服务器。简单静态服务器下面是一个简单的静态服务器:var http = require('http'), url = require('url'), fs = require('fs') path = require('path');function getContentType(_path){ var contentType, ext = path.extname(_path 阅读全文