你的位置:快乐忆站 \ 技术 \ 文章正文

Windows下折腾node.js(2)

说起来玩node也没几天,本身js基础就不好,很多东西都是一知半解,然后百度,谷歌之类的乱搜一气,随后就倒腾,发现好多代码别人贴出来,复制到我这就莫名其妙的报错,我这里就说几个例子吧。

第一个是cluster,大家都知道node.js是单进程的,而cluster就是填补这个空白的,他能使一个应用多(子)进程运行,可以在一个进程崩溃的时候立马启动重启新进程,防止网站进程因为意外关闭导致网站无法访问。这里有官方给出的api,代码如下:

上述代码运行起来并不会报错,但是图上圈起来的代码是有问题的,我们结束一个进程来看看后台打出来的日志是什么:

‘worker.pid’返回的竟然是‘undefined’,当然,这个貌似是node.js0.8.0以后才有的,可能官方代码有所改动,而api却没及时改的缘故吧,我自己折腾了一下,将‘worker.pid’改成‘worker.process.pid’就能正常了:

还有一个要提醒各位刚接触node.js的,应用的代码里面对错误的处理一定要考虑周全,不然服务器脚本一报错就很有可能导致进程意外退出,我就是踩了好几个坑才发现这个重要性的。

下面分享一个在express或者connect下启用gzip的代码,部分来自网络:

首先安装‘gzippo’包:

npm install gzippo
然后在应用中调用:

var gzippo = require('gzippo');

//将express或connect静态文件调用方法改成下面gzippo的方法即可开启gzippo
//app.use(express.static(__dirname + '/public'));
app.use(gzippo.staticGzip(__dirname + '/public'));
下面是我开启gzip后jquery-1.7.2.min.js的响应截图:

从上图看出,本来92.62KB的文件gzip压缩后只有33.25KB,压缩率还是很大的,这在前端优化中的效果是很明显的。当然,目前本插件只支持压缩js和css,官方说以后会支持stream,当然,需要express或connect包的支持,官方地址:https://github.com/tomgco/gzippo,有需要的可以去查看。

最后邀请大家一个结伴来D2玩~

第七届 D2前端技术论坛 (7月7日·杭州)

« 上一篇

说两句吧:

*

*

正在回复: 取消

  1. 8#
    Xider
    Xider Google Chrome 21.0.1180.15 Windows XP 2012-07-25 22:06 回复
    这个只能说听说过...也有折腾了一下。。不过完全不懂 不过貌似它的高速缓存相当剽悍
    小松
    小松 Google Chrome 22.0.1229.2 Windows 8 x64 Edition 2012-07-25 22:09 回复
    @Xider:最nb的事件驱动,做聊天室什么的,爽翻了!
    Xider
    Xider Google Chrome 21.0.1180.15 Windows XP 2012-07-26 10:09 回复
    @小松:是啊。。可惜看不懂诶。。复杂的东西
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-07-26 11:42 回复
    @Xider:教程看看,然后自己折腾折腾就了解了
  2. 7#
    sprityaoyao
    sprityaoyao Firefox 13.0.1 Windows 7 2012-07-22 12:50 回复
    楼上的都是专家
    小松
    小松 Google Chrome 18.0.1025.166 Android 4.0.4 2012-07-22 13:04 回复
    @sprityaoyao:哈哈,谁都是专家,领域不同罢了
  3. 6#
    友豪
    友豪 Internet Explorer 8.0 Windows XP 2012-07-14 15:42 回复
    写的很有技术啊
    小松
    小松 Google Chrome 22.0.1201.0 Windows 8 x64 Edition 2012-07-18 09:23 回复
    @友豪:
  4. 5#
    西安无痛人流
    西安无痛人流 Internet Explorer 8.0 Windows XP 2012-07-14 15:39 回复
    技术性太强的东西,还真不好搞懂啊
    小松
    小松 Google Chrome 22.0.1201.0 Windows 8 x64 Edition 2012-07-18 09:25 回复
    @西安无痛人流:测试回复~
  5. 4#
    wmtimes
    wmtimes Google Chrome 19.0.1084.56 Windows 7 2012-07-07 11:33 回复
    js不好。但肯定也比我的好。
    小松
    小松 Google Chrome 20.0.1132.47 Windows 8 x64 Edition 2012-07-07 14:04 回复
    @wmtimes:还真不好说,我的很烂的
    小子
    小子 Google Chrome 21.0.1180.15 Windows 7 2012-07-09 09:33 回复
    @小松:两位这是在干什么呢
    小松
    小松 Google Chrome 21.0.1180.15 Windows 8 x64 Edition 2012-07-09 10:30 回复
    @小子:
    wmtimes
    wmtimes Google Chrome 19.0.1084.56 Windows 7 2012-07-11 15:16 回复
    @小子:哈哈。不告诉你。
    小松
    小松 Google Chrome 22.0.1201.0 Windows 8 x64 Edition 2012-07-19 12:45 回复
    @wmtimes:他就是没事找事~欠扁
  6. 3#
    分文网
    分文网 Google Chrome 20.0.1132.47 Windows 7 2012-07-05 16:10 回复
    这个东西是什么。。。
    小松
    小松 Google Chrome 21.0.1180.15 Windows 8 x64 Edition 2012-07-05 18:36 回复
    @分文网:上次讲解过一次,哈哈,服务器端javascript
  7. 2#
    小子
    小子 Google Chrome 21.0.1180.15 Windows 7 2012-07-05 00:05 回复
    尼玛,fork好像是多进程吧
    小松
    小松 Google Chrome 21.0.1180.15 Windows 8 x64 Edition 2012-07-05 09:12 回复
    @小子:就是多进程啊,肿么了?
    小子
    小子 Google Chrome 21.0.1180.15 Windows 7 2012-07-05 10:19 回复
    @小松:“而cluster就是填补这个空白的,他能使一个应用多线程运行”,尼玛进程和线程不是一个概念。
    小松
    小松 Google Chrome 21.0.1180.15 Windows 8 x64 Edition 2012-07-05 12:22 回复
    @小子:我不懂,班门弄斧了
  8. 1#
    小子
    小子 Google Chrome 21.0.1180.15 Windows 7 2012-07-05 00:02 回复
    啊哟为,貌似更新技术文章了
    小松
    小松 Google Chrome 21.0.1180.15 Windows 8 x64 Edition 2012-07-05 09:13 回复
    @小子:早就想写了,觉得自己门外汉,不敢写,鼓足勇气写出来的

随机日志:

推荐日志:

彩色标签:

sitemap