node的四个内置模块
1.http模块:开启服务器
server.js
// 1.引入http模块
const http = require("http");
//2.创建Web服务,返回http对象
let app = http.createServer((req, res) => {
console.log("访问了...");
});
//3.监听服务器
app.listen(3210);
操作:
cmd中输入命令:node server.js
浏览器地址输入:localhost:3210
结果:
cmd中打印:访问了…
2.fs模块:对文件进行增删改查
fs.js:
const fs = require("fs");
// console.log(fs);
//增删改查:创建文件并写入,删除,重写,读取
//创建一个hello.txt文件,并在其中写入文本内容:this is helloData
fs.writeFile("./hello.txt", "this is helloData", (myerr) => {
console.log(myerr);
});
//删除hello.txt文件
fs.unlink("./hello.txt", myerr => {
console.log(myerr);
})
//将hello.txt文件重命名为hi.txt
fs.rename("./hello.txt", "./hi.txt", myerr => {
console.log(myerr);
})
//将hello.txt中的内容改写为:你好记事本
fs.writeFile("./hello.txt", "你好记事本", (myerr) => {
console.log(myerr);
});
//读取hello.txt中的文本内容
fs.readFile("./hello.txt", "utf-8", (myerr, mydata) => {
console.log(myerr, mydata);
})
操作:
cmd中输入node fs.js
结果:
路径下的新增记事本文件有对应的增删改查
3.url模块
url模块的三个方法:url.parse();url.format();url.resolve();
//引入url模块
const urlModel = require("url");
//模拟一个url
var url = "http://www.baidu.com/data/hahaha/?a=1&b=2#01";
console.log("类型是", typeof url, "值是:", url);
//1.url.parse(urlString,boolean,boolean)方法:将url解析成对象
var obj = urlModel.parse(url, true); //将url中的query属性解析成对象
console.log("类型是", typeof obj, "值是:", obj);
//2.url.formate(urlString,boolean,boolean)方法:将对象解析成url
var str = urlModel.format(obj)
console.log("类型是", typeof str, "值是:", str);
//3.url.resolve(from,to)方法:返回一个格式为"from/to"的字符串
var string = urlModel.resolve(url, "#02")
console.log("类型是", typeof string, "值是:", string);
操作:
cmd输入url.js
结果:
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#01
类型是 object 值是: Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'www.baidu.com',
port: null,
hostname: 'www.baidu.com',
hash: '#01',
search: '?a=1&b=2',
query: [Object: null prototype] { a: '1', b: '2' },
pathname: '/data/hahaha/',
path: '/data/hahaha/?a=1&b=2',
href: 'http://www.baidu.com/data/hahaha/?a=1&b=2#01'
}
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#01
类型是 string 值是: http://www.baidu.com/data/hahaha/?a=1&b=2#02
4.querystring模块:查询字符串,一般是对http请求所带的数据进行解析
qs.js:
//将查询字符与对象互相转换的模块
const querystring = require("querystring");
//模拟类似于get方式发送的信息
var str = 'name=admin%padd=123';
//根据%号,分割字符为对象
var obj = querystring.parse(str, "%");
console.log("类型是:", typeof obj, "值是:", obj)
//模拟对象
var obj2 = { a: 1, b: 2 }
//将对象转换成类似于get方式发送的信息,用%号隔开
var str2 = querystring.stringify(obj2, "%");
console.log("类型是:", typeof str2, "值是:", str2)
操作:
cmd输入qs.js
结果:
类型是: object 值是: [Object: null prototype] { name: 'admin', padd: '123' }
类型是: string 值是: a=1%b=2