今天学习了以下node.js,总结一下
/********************************************** 安装nodejs *****************************************************************************************/
首先我们要安装nodejs,去官网https://nodejs.org下载(我下的是Windows下的node.ims),一路默认下一步下一步就ok了
打开cmd控制台,输入node -v 查看版本号,看是否安装成功,
/********************************************** server.js *****************************************************************************************/
在创建一个server.js,用来创建一个HTTP服务器,代码如下
var http = require('http');
http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});//返回状态码200,内容为文本
res.end('Hello HelloWrold\n');//页面显示
}).listen(1337,'127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
/********************************************** 运行js服务器 *****************************************************************************************/
用cmd进入server.js目录下,输入node server.js运行该JavaScript代码
表示启动了该server.js
/********************************************** web显示HelloWrold *****************************************************************************************/
在浏览地址栏输入 http://127.0.0.1:1337/ 结果显示
/********************************************** 注意 *****************************************************************************************/
server.js改变后要重启该服务,即重新运行 node server.js,否则更改不生效
/********************************************** 代码说明 *****************************************************************************************/
var http = require('http'); //通过require()创建一个web服务器
//链式调用
http.createServer(function(req,res){ //监听到后要做什么,创建一个回调函数,监听后执行该函数
//req 请求对象, res 响应对象
res.writeHead(200,{'Content-Type':'text/plain'});//返回状态码200,内容为文本
res.end('Hello HelloWrold\n'); //返回页面显示
}).listen(1337,'127.0.0.1'); //服务器在1337端口监听
console.log('Server running at http://127.0.0.1:1337/');
或写成
//普通调用
var server = http.createServer(function(req,res){
res.writeHead(200,{'Content-Type':'text/plain'});
res.end('Hello HelloWrold\n');
});
server.listen(1337,'127.0.0.1');
/********************************************** 回调函数一点自己见解 *****************************************************************************************/
刚刚接触,不是很懂,先暂时理解一下
例子:我去商店买东西,店员说暂时没有,让我留一个联系方式给她,有货了她联系我,过几天店员联系了我然后我去取了货
说明:例子中我的联系方式有很多种,电话、qq、邮箱等等,我留下了电话给了店员,店里有货了触发店员联系我,店员给我打电话,最后我取货
回调函数:例子中的联系方式就是回调函数,我留下电话就是登记回调函数,有货就是触发了回调关联的事件,店员给我打电话就是调用回调函数,我去取货就是响应回调函数;
我的行动是一个高层的起始函数(main),我留下联系方式是一个高层的回调函数(callback),商店联系我是一个底层的(中间)服务函数(function)
回调就成了一个高层调用底层,底层再回过头来调用高层的过程。
在回调中,我们利用某种方式,把回调函数像参数一样传入中间函数。可以这么理解,在传入一个回调函数之前,中间函数是不完整的。换句话说,程序可以在运行时,通过登记不同的回调函数,来决定、改变中间函数的行为。(我们的联系方式不给商店,商店的服务是不完整无法完成的,而商店的联系服务是可以根据我们的联系方式来决定的)
/*********************************************************server.js中的回调函数 **************************************************************************/
createServer().listen()相当于有货了(监听触发)
http相当于起始函数
createServer()相当于中间函数
createServer()中匿名函数function(req,res)相当于回调函数
运行到http后未触发事件,http暂时挂起(没有货)
listen()触发后(有货了),createServer()中间函数运行(联系你),function()回调函数运行(联系你的方式)
有点懵懂。先写到这