重要:Node.js v10.15.1中文api文档http://nodejs.cn/api/
1、用户→apache、Nginx、Tomact→php;用户→nodejs。
2、nodejs中将有很多的功能,划分为一个个mudule,大陆翻译为模块。这是因为有一些程序需要使用fs(文件读取)功能,有一些不用,所以为了效率,你用啥,你就require啥。
3、http模块:
var http = require("http");
//创建一个服务器,回调函数表示接收到请求之后做的事情。req请求,res响应。
var server = http.createServer(function(req,res){
console.log("服务器接收到请求"+req.url);
//若是没有res.end则浏览器一直转圈。
res.end("");
});
//监听接口
server.listen(3000,"127.0.0.1");
4、req里面可以使用的东西。最关键的是req.url属性,表示用户请求url地址。所有路由的设计,都是通过req.url来实现的。
我们关心的不是拿到url而是识别url。识别url,用到两个模块,一个是url模块,另一个querystring是模块。字符串查询用querystring。
5、url.parse()用法
该文件创建在H盘nodedemo文件夹下,命名为04_req.js
var http = require("http");
var url = require("url");
var server = http.createServer(function(req,res){
//url.parse()可以将一完整的url地址,分为多个部分
//host、port、pathname、path、query
var pathname = url.parse(req.url).pathname;
//url.parse()如果第二个参数为true那么可以将查询变为对象
var query = url.parse(req.url,true).query;
//就可以直接打点得到这个参数
var age = query.age;
console.log("pathname:"+pathname);
console.log(query);
console.log("age:"+age);
res.end("");
});
server.listen(3000,"127.0.0.1");
结果图:
H:\nodedemo>node 04_req.js
pathname:/abcd/adst/1.html