手机版

node.js阅读笔记中的伟大特性

时间:2021-10-16 来源:互联网 编辑:宝哥软件园 浏览:

环境的变化带来了技术的巨大飞跃,机遇与挑战同时到来。因为没学js,只好抓鸭子放到架子上一起学习。(>﹏<)

1.先读。

刚开始看《深入浅出node.js》不知道怎么生怎么死,大惊小怪。看完之后,我意识到这本书需要一定的基础。我在网上找到了41页《node入门》,自己学会了构建一个Web应用。而刷新成就感后,读《了不起的node.js》。现在读完这本书,我准备再读一遍《深入浅出node.js》。

2.构建一个在git上运行例程的环境(报告了3次错误)。

在官网下载msi后,一路到下。错误“npmierr!找不到: git ' .原因是新电脑没有遵循git。

安装外部依赖包' gyp ERR!“配置错误”,因为Python环境没有。并且这个依赖包只能在低版本中安装。最后一个错误是“MSB3428:错误MSB3428:未能加载Visual c++组件“VCBuild.exe”,安装后仍会报告该错误。net framework 2.0 SDK和mvs2005。果断放弃。

3.第一个网络应用程序。

在运行了《Hello World》之后,我们开始编写一个完全基于Node的Web应用程序。需要先启动服务器模块,http模块中的createServer函数返回的对象有一个listen([PORT])方法监听端口。这个函数的参数很奇怪,它是一个函数定义。在JavaScript中,一个函数可以接收一个参数作为另一个函数,这个参数函数叫做匿名函数。使用这种方法的原因是节点采用事件驱动回调。当服务器在单个进程中收到请求时,它将调用此函数来处理该请求。当相应的事件发生时,createServer函数调用该函数进行回调。

收到http请求后,我们将处理该请求。首先,我们抽象地为请求提出不同的网址和获取及发布参数。这里使用了两个内部模块URL(解析URL)和Query String(处理查询字符串)。并且通过依赖注入的方式增加了路由器模块。然后,处理请求的模块需要在路由完善之前完成。首先,所有的请求都通过一个句柄在模块之间传递,这个句柄可以响应。一般来说,让请求处理程序通过onRequest函数直接返回(return())它们想要呈现给用户的信息。但是,阻塞操作非常耗时,所以我们将使用非阻塞操作。使用回调将函数作为参数传递给需要时间处理的其他函数。相比于将内容交付给服务器的方式,这次我们采用的是将服务器“交付”给内容的方式。也就是说,响应对象(从服务器的回调函数onRequest()获得)通过路由作为函数参数传递给处理程序。这样,处理程序可以调用对象上的函数。

接下来进行处理环节,通过表单上传图片。这里,外部依赖包强大的用来接收图片。该模块用于处理表单和上传文件。首先使用varform=new formula . incoming form();获取窗体对象。这个对象的解析方法可以解析和处理表单数据。我们只是保存文件。fs模块用于保存文件。保存的位置可以通过重命名方法指定,保存文件的行为可以在使用同步方法renameSync()显示图片的行为之前进行。

显示图片非常简单。通过fs的readFile方法读取文件,并在其回调函数中使用response.write(file,' binary ')在浏览器中显示图片。

总结一下:通过这个例程,我们知道了node.js中的特性,比如单线程、异步、事件驱动等等。一些抽象的概念也已经通过例程进行了演示,但是它们需要进一步理解。通过常规学习意味着在你不理解的时候查阅数据。这种学习方法也是一种很好的输入-人-输出方法。

版权声明:node.js阅读笔记中的伟大特性是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。