//url.js
const http = require("http");
//write写入的永远是文本,只是浏览器解析成了html页面
const server = http.createServer(function(req,res){
res.writeHead(200,{"Content-type":"text/html;charset='UTF-8"});
res.write("<h1>A主题</h1>");
res.write("<h2>B主题</h2>");
res.write("<h3>C主题</h3>");
res.end("hello");
}).listen(3032,function(){
console.log(3032);
});
// req.js
var http =require('http');
//URL模块用来处理URL
var url = require("url");
//URL问号之后的字符:称之为参数
//URL井号之后的字符:称之为锚记
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
//url获取我们依赖的对象还是req.url
//url解析我们依赖的是URL.path
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
console.log(req.url); // /?name=%22lmz%22
//帮我们把传入的URL转换为(拆分为)不同的模块
console.log(url.parse(req.url));
// Url {
// protocol: null,
// slashes: null,
// auth: null,
// host: null,
// port: null,
// hostname: null,
// hash: null,
// search: '?name=%22lmz%22',
// query: 'name=%22lmz%22',
// pathname: '/',
// path: '/?name=%22lmz%22',
// href: '/?name=%22lmz%22' }
console.log(url.parse(req.url).query);//'name=lmz&lm=34'
res.end("Hello World~!");
});
server.listen(3000,"127.0.0.1");
//03.req.js
var http =require('http');
var url = require("url");//处理URL
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
//URL模块只能负责获取,我们依赖的对象还是req.url
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
//帮我们把传入的URL转换为(拆分为)不同的模块
//注意url.parse里面的第二个参数:把query字符串处理成一个对象
//url.parse(req.url,true)
console.log(url.parse(req.url,true).query);
// { name: 'think' }
console.log(url.parse(req.url,true).query.name);
// think
res.end("Hello World~!");
});
server.listen(3000,"127.0.0.1");
//4.req.jsvar http =require('http');
var url = require("url");//处理URL
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
//URL模块只能负责获取,我们依赖的对象还是req.url
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
//可以理解为默认为false
var pathname = url.parse(req.url,true).query;//增加true后,返回的就是咱们传入的参数名称和参数值
console.log(pathname.name);
console.log(pathname.age);
console.log(pathname.sex);
res.end("Hello World~!");
});
server.listen(3000,"127.0.0.1");
//05 form.js
//这里请结合form.html一起看明白
var http =require('http');
var url = require("url");//处理URL
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
/*
由于获取的是请求的URL,而post请求的参数不会出现在URL中,所以获取的时候为undefined
*/
//URL模块只能负责获取,我们依赖的对象还是req.url
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
//可以理解为默认为false
var pathname = url.parse(req.url,true).query;//增加true后,返回的就是咱们传入的参数名称和参数值
var username = pathname.username;
var password = pathname.password;
var sex = pathname.sex;
res.end("表单提交的数据为:用户名[" + username + "],密码:[" + password + "]" + ",性别:[" + sex + "]");
});
server.listen(3000,"127.0.0.1");
//06. router.js
/*
/student/1234567890
/teacher/123456
*/
var http = require("http");
var server = http.createServer(function(req,res){
var currentUrl = req.url;
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
if(currentUrl.substr(0,9) == "/student/"){//表示student开头
//substr: 如果传入一个参数:substr(num) //截取num之后的字符串
// 如果传入两个参数:substr(num1,num2) 截取到num1和num2之间的字符串
var studentId = currentUrl.substr(9);
//这里的正则: /^\d{10}$/ 表示十个数字
if(/^\d{10}$/.test(studentId)){
res.end("您要查询的学生信息ID为:" + studentId);
}else{
res.end("您要查询的学生信息未找到");
}
}else if(currentUrl.substr(0,9) == "/teacher/"){//表示teacher开头
//console.log("teacher loading...");
var teacherId = currentUrl.substr(9);
if(/^\d{6}$/.test(teacherId)){
res.end("您要查询的教师信息工号为:" + teacherId);
}else{
res.end("您要查询的教师信息未找到");
}
}else{//单独对不存在的模块处理
console.log("not found loading...");
res.end("请检查你的输入是否有问题,反正我是不认识的~!");
}
});
server.listen(3000,"127.0.0.1");
//07 route
/*
/student/1234567890
/teacher/123456
*/
var http = require("http");
var server = http.createServer(function(req,res){
var currentUrl = req.url;
var tipsInfo = "";
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
if(currentUrl.substr(0,9) == "/student/"){//表示student开头
var studentId = currentUrl.substr(9);
if(/^\d{10}$/.test(studentId)){
tipsInfo = "您要查询的学生信息ID为:" + studentId;
}else{
tipsInfo = "您要查询的学生信息未找到";
}
}else if(currentUrl.substr(0,9) == "/teacher/"){//表示teacher开头
var teacherId = currentUrl.substr(9);
if(/^\d{6}$/.test(teacherId)){
tipsInfo = "您要查询的教师信息工号为:" + teacherId;
}else{
tipsInfo = "您要查询的教师信息未找到";
}
}else{//单独对不存在的模块处理
tipsInfo = "请检查你的输入是否有问题,反正我是不认识的~!";
}
res.end(tipsInfo);
});
server.listen(3000,"127.0.0.1");
//08 fs.jsvar http =require('http');
var fs = require("fs");//读取文件,fileSystem
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
//创建文件夹属于异步操作,所以在这里需要注意
//第一个参数是:创建的文件名
fs.mkdir("./images3",function(err){
if(err){
throw err;
}
res.writeHead(200,{"Content-type":"text/html;charset=UTF-8"});
res.end("创建完毕");
});//创建文件夹
});
server.listen(3000,"127.0.0.1");
//09.
var http =require('http');
var fs = require("fs");//读取文件,fileSystem
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
//fs.stat(path, [callback(err, stats)])
//返回的stats包含的数据:
// {
//
// dev : 0 ,
//
// mode : 33206 ,
//
// nlink : 1 ,
//
// uid : 0 ,
//
// gid : 0 ,
//
// rdev : 0 ,
//
// ino : 0 ,
//
// size : 378(字节) ,
//
// atime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间> ,
//
// mtime : Tue Jun 13 2014 09:48:31 GMT +0800 <中国标准时间> ,
//
// ctime : Tue Jun 10 2014 13:57:13 GMT +0800 <中国标准时间>
//
// }
fs.stat("./08_fs.js",function(err,data){
console.log(data.isDirectory());//判断是否是文件夹
//data.isDirectory如果返回时true表示加载的是文件夹,反之表示不是
});
});
server.listen(3000,"127.0.0.1");
//10 fs.js
var http =require('http');
var fs = require("fs");//读取文件,fileSystem
var server = http.createServer(function(req,res){
if(req.url == "/favicon.ico"){
return;
}
var wjj = [];
//readdir方法用于读取目录,返回一个所包含的文件和子目录的数组。
//[ '1.jpg', '2.jpg', '3.jpg', 'afile', 'bFile' ]
fs.readdir("./img",function(err,files){
//文件有N个,所以可以for循环出来
console.log(files);
//[ '1.jpg', '2.jpg', '3.jpg', 'afile', 'bFile' ]
for(let i = 0;i < files.length;i++){//ES6的let声明不受闭包影响
let currFilename = files[i]
fs.stat("./img/" + currFilename,function(err,stats){
if(err){
throw err;
}
if(stats.isDirectory()){
wjj.push(currFilename);
}
console.log(wjj);
})
}
})
});
server.listen(3000,"127.0.0.1");