美文网首页
Node创建新的项目和一个流的类步骤

Node创建新的项目和一个流的类步骤

作者: tpran | 来源:发表于2017-06-20 12:00 被阅读0次

构建一个Node应用,它会用到一些node的核心功能,比如模块和流。

Stream非常擅长处理数据,无论是读、写或者是转换。想象一下,你需要把数据从数据库导入到另外一个格式,比如csv。你可以创建一个Stream类,接收从数据库输入的数据,并将它输出到csv的流中,这个新的csv流可以传入一个http请求,这样,这个csv的输出可以直接显示在浏览器上。它还可以接入一个可写的文件流,你甚至可以用这个流来创建一个文件,并发送至浏览器。

在这个例子中,这个Stream类可以接受文本输入,记录通过正则表达式匹配的单词,在文件流发送完后把结果通过一个事件发布出去。你可以用它来记录文件中匹配的单词,也可以把网页内容传入这个流,来记录p标签的数量,这都取决于你,但首先你需要先创建一个新的项目。

你也许在猜专业的Node开发如何创建一个新的项目,因为有npm在,这是个非常简单的过程。虽然你可以创建一个JavaScript文件,并且执行node file.js,我们将使用npm init来创建一个带有package.json文件的新的项目。创建一个新的目录①,cd②进去,然后运行npm init③。

①创建一个新的目录。mkdir first-project

②进入目录中。cd first-project

③创建项目的清单文件。npm init

Node开发者倾向于小模块,在package.json中写明依赖意味着你的项目无论多小,在未来或者其他开发者的机器上是非常容易安装的。

创建一个名为countstream.js的新文件,使用util.inherits来继承stream.Writable并且实现必要的_write方法。一个用于计数的可写流的源码如下:

①继承可写流

②创建一个全局且忽略大小写的正则对象

③把当前的输入数据转化为字符串并进行匹配

④当输入流结束时,触发total事件

在例子中有一个事件,total。这是我们自己创建的——当然你也可以自己创建一个。Streams从EventEmitter继承而来,所以它们都拥有同样的emit和on方法。

当不再有数据时,Node的Writable基类会调用end方法④。该类可以被实例化,并且根据需要来通过管道进行传输数据。

相关文章

网友评论

      本文标题:Node创建新的项目和一个流的类步骤

      本文链接:https://www.haomeiwen.com/subject/capoqxtx.html