nodejs安装:(windows)
32位node下载:
https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi
64位下载地址:
https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi
安装之后要找得到node.exe 所在位置。
域名解析:
域名解析是把域名指向网站空间IP
①检查网络是否能够连通
ping 域名
eg:
ping baidu.com
ping 111.13.101.208
eg:
ping liyunhao.cn
ping 58.87.72.83
②计算机网络中在传输层用 IP地址+端口号 唯一标识进程:
eg:
localhost:3000 本地的3000端口 ==== 172.0.0.1:3000
腾讯云相关: 包括服务器的购买和域名解析相关。 —— [ CSDN]
nodejs工程的建立: —— [ CSDN]
nodejs概念的理解:
异步:
程序执行的顺序可能不与代码编写顺序一样
eg:yibu.js
回调函数:
将函数座位参数传递,在指定的地方进行调用。
eg:
callback.js
*思考题:
在http.js 里面
①在http模块下的createServer里面匿名函数是什么时候调用执行的
②函数的参数req和res是什么时候生成的
解:
源码 —— [ github]
node v0.12分支 http.js模块下的createServer方法
①在私有模块_http_server,js中的parseOnIncoming 方法里面调用执行了匿名函数
self.emit 触发了该匿名函数
②在parseOnIncoming 里面传入
1.”request”是http.IncomingMessage的一个实例
req不是在parseOnIncoming 生成,是在调用parseOnIncoming传入的
parser.onIncoming = parseOnIncoming
parser = parsers.alloc();
parers = common.parsers;
common 来自_http_common 模块
在_http_common 调用了onIncoming 传入的第一个参数就是req 即parse.incoming.
parse.incoming 是IncomingMessage的一个实例
即req是IncomingMessage的一个实例
IncomingMessage 是私有模块_http_incoming下的IncomingMessage
2.”response”是http.ServerResponse的一个实例
私有模块_http_server里面的parseOnIncoming 生成ServerResponse的一个实例
ServerResponse继承自OutgoingMessage
即response 也是OutgoingMessage的一个实例
OutgoingMessage来自私有模块_http_outgoing.js, 模块中将OutgoingMessage作为接口暴露出去
OutgoingMessage继承自Stream,即为Stream(流)的一个子类
其实回调函数被执行了两次
另一次调用?
参考 net.js
以上为个人学习笔记,若发现错误或者有疑问可以一起探讨。