为了账号安全,请及时绑定邮箱和手机立即绑定

进击Node.js基础(一)

Scott 全栈工程师
难度中级
时长 3小时27分
学习人数
综合评分9.50
664人评价 查看评价
9.8 内容实用
9.4 简洁易懂
9.3 逻辑清晰
  • http get/request
    查看全部
  • 回调函数实例
    查看全部
  • 回调函数实例。
    查看全部
  • 回调函数实例
    查看全部
  • 简单的说,就是用户访问服务器,就会执行listen函数,listen函数执行连接完成之后就会执行createServer函数里面你自己写的那个回调函数,你在这里写个比如res.write('Hello Nodejs'); 这行语句nodejs创建的服务器就会往用户端返回response的里面写 Hello Nodejs 这样的句子。
    查看全部
    6 采集 收起 来源:HTTP 源码解读

    2015-08-10

  • _http_server.js下: parserOnIncoming实际上呢,是在271行connectionListener里面定义的 connectionListener又是250行和 'connection'事件绑定的 在_http_server.js里面找不到'connection'的定义的内容 我们知道_http_server.js是继承自net.js的(19分48秒提及) net.js下: 1330行发现 self.emit('connection',socket); 其自身被包裹在(1301行)onconnection函数里面 1150行: self._handle.onconnection = connection; 其自身被包裹在(1129行)Server.prototype._listen2 = function(...) 里 而见1182行,_listen2函数是在(1176行)function listen(...)函数里被调用的 这个listen在1113行有 Server.prototype.listen = function() { ..... 语句 在这个1113行的函数的函数体里面会调用1176行的那个listen函数 我们看最开始我们在nodejs首页里面复制到sublime里的那个创建服务器的几行代码,其中的.listen(...),其实调用的就是net.js里1113行里的这个语句。 所以当我们在sublime粘贴出的listen()方法执行后,就会在net.js里,释放一个'connection'事件。 而_http_server.js里就会因此调用与'connection'绑定好的connectionListener方法,这个connectionListener被调用后就会生成req和res两个变量并释放一个叫'request'的事件顺便带着req和res两个变量。 而'request'事件又会触发requestListener方法,这个requestListener方法就是我们在sublime里粘贴在createServer(requestListener) 方法里面的 requestListener这个部分的回调函数。
    查看全部
    1 采集 收起 来源:HTTP 源码解读

    2015-08-10

  • 这个传入的req是个啥呢? _http_server.js下 搜索后知此文件仅有332行有parserOnIncoming的使用,为:parser.OnIncoming = parserOnIncoming; 而见315行,var parser = parsers.alloc(); 见29行, var parsers = common.parsers; 见28行, var common = require('_http_common'); _http_common_js下: 见111行, skipBody = parser.OnIncoming(parser.incoming,info.shouldKeepAlive); 我们就知道这个parser.incoming就是req了 见79行,parser.incoming = new IncomingMessage(parser.socket); 见26行,var IncomingMessage = incoming.IncomingMessage; 见25行,var incoming = require('_http_incoming'); 知req就是整个_http_incoming文件的require
    查看全部
    0 采集 收起 来源:HTTP 源码解读

    2015-08-10

  • http.js下: 调用createServer实际上是返回Server实例,createServer里面的回调函数(参数requestListener)直接作为了Server的参数requestListener 而这个Server实际上是require('_http_server') _http_server.js下: fuction Server(requestListener)里面实际上是为这个requestListener函数与'request'事件绑定到了一起 而'request '是方法parserOnIncoming里面抛出的一个事件,见488行self.emit('request'.req,res);这个事件也会同时抛出req和res两个对象 关于req与res两个变量: 其中,428行可知req变量与另一个叫做shouldKeepAlive的变量作参同时传入此函数parserOnIncoming 而,由437行可见res变量是new ServerResponse(req)出来的实例 见101行可见ServerResponse的定义,再由函数体内部113行知此函数继承自OutgoingMessage 见37行: var outgoingMessage = require('_http_outgoing').OutgoingMessage; _http_outgoing.js下 67行为function OutgoingMessage的定义 见93行OutgoingMessage继承自Stream即为一个流的子类 由函数体内部67-91行可知此函数里面初始化的各种变量全是跟服务器返回的内容有关的东西 最终可得出res实际上是一个ServerResponse,而ServerResponse是一个Stream,这个Stream里面全是各种服务器返回的各种内容属性(见_http_outgoing.js里的67-91行啊啊)
    查看全部
    0 采集 收起 来源:HTTP 源码解读

    2015-08-10

  • url.parse url变成js对象 url.format js对象变成url url.resolve('主域名/','子路径名') 变成完整的url路径
    查看全部
  • on('data',function(data){})
    查看全部
    0 采集 收起 来源:HTTP 小爬虫

    2015-08-09

  • mark
    查看全部
  • module exports的区别 export是module的子集 当export和module含有相同的属性的时候module会覆盖exports的属性 modile是特殊的对象类型exports是传统的模块类型
    查看全部
  • 这个不用登陆就可以评论?
    查看全部
  • homebrew OS X 不可或缺的套件管理器
    查看全部
    1 采集 收起 来源:Mac下安装Nodejs

    2015-08-07

  • 学习可参考的网站 nodejs.org www.npmjs.com github.com stackoverflow.com
    查看全部

举报

0/150
提交
取消
课程须知
我们的教程面向的同学是:有 JavaScript 基础的同学,如果有过任何后台语言开发的经验更适合,对于有基础的同学,可以快进跳着看教程,不必拘束于每一分钟都听,很多时候其实是思路,思路打通了,很多技术细节也就不用纠结了。
老师告诉你能学到什么?
从 Node.js 基础知识入手,比如安装,环境配置、开发环境等,进一步熟悉 Node.js API ,一些 HTTP 知识,并且对模块的概念和使用更加熟悉,从而进阶到模块或者插件的开发,最终能够借助 Node.js 快速实现特定的需求。

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!