转载

了不起的node.js读书笔记 chapter 5 & chapter 6

charter 5 命令行工具以及FS API

这一章教会做了第一个node应用:一个简单的命令行浏览器,功能是允许用户读取文件。

它是逐步逐步教着做的所以不会很难,具体代码看github吧,这里我就记录一下学到的东西。

github CLI

首先是获取文件目录这一块, __dirname 是用来获取执行文件时该文件在文件系统中所在的目录。

process.cwd() 是用来获取当前工作目录的,区别就是,前者是用来获取文件的绝对目录的,无论是否执行它。而后者呢,就是运行node的工作目录啦。

然后是argv,其实就是node 文件后带的参数,比较特殊的是它自带了两个参数,一个事node,一个是执行文件的路径,所以要获得参数的话得先解决这两个 console.log(process.argv.slice(2))

process.env 查看环境变量

process.exit(1) 退出程序。

fs.stat 是用来给出文件或者目录的元数据,callbac会返回一个stat对象,就是给定目录下的文件信息。

可以用 fs.watchFile 来监视文件是否发生变化,对单个。

可以用 fs.watch 来监视整个目录,监视意味着当文件系统中的文件(或者目录)发生变化时,会分发一个事件,然后触发指定的回调函数。

还有一个重要的特点, Stream 继承自 EventEmitter

当涉及持续不断地对数据进行读写时,流就出现了。

做这个玩意的时候呢,经常去查node的API,对fs模块有了更深入的了解啦~~。

chapter 6 TCP

这一章除了介绍TCP外,就是用Node做一个聊天程序啦~~

比较特殊的是书上只给出了用telnet来做客户端的程序,等我自己这两天写个客户端做联系吧。

老样子代码看github,这里记录学习。

可能是windows的telnet比较特殊还是怎样,因为在telnet上输入一个字符就直接发送到server上了。。这样当然不好啊。。书上的代码就是这样的。。然后为了解决我自己hack了一下。。用换行做一句消息的结束。

当底层套接字关闭时,Node.js会触发close事件。

可以直接对一个流设置编码。

这一小节书上教的不多。更多在于动手去体会,然后查api。敲代码学到的我都做在注释上啦。

github nodechat

原文  http://www.lee1hang.com/了不起的node-js读书笔记-chapter-5-chapter-6.html
正文到此结束
Loading...