一、fs
let fs = require('fs');
// 1. fs.mkdir / fs.mkdirSync :创建文件夹,有Sync的是同步创建,反之是异步,想要实现无阻塞I/O,一般异步
fs.mkdir('less', (err) => {});
// 2. fs.readdir / fs.readdirSync: 读取文件目录中的
let fs = require('fs');
fs.readdir('./less', (err, result) => {
if(err) {
console.log(err);
return;
}
console.log(result);//返回的结果是一个数组
})
//3.fs.rmdir 删除文件夹
fs.rmdir('./less');
//4.fs.readFile: 读取文件中的内容
fs.readFile('./less/1,less', 'utf8', (err, res) => {
//=>不设置UTF-8编码格式,读取出来的是buffer格式的数据,设置后读取到的是字符串格式的数据
if(err) {
console.log(err);
return;
}
console.log(res);
})
//5.fs.writeFile: 向文件中写入内容(覆盖写入)
fs.writeFile('./less/1,less', '哈哈', 'utf8', (err) => {
//=>不设置UTF-8编码格式,读取出来的是buffer格式的数据,设置后读取到的是字符串格式的数据
if(err) {
console.log(err);
return;
}
console.log(‘ok’);
})
//6.fs.appendFile: 追加写入新内容
fs.appendFile('./less/1,less', '哈哈', 'utf8', (err) => {
//=>不设置UTF-8编码格式,读取出来的是buffer格式的数据,设置后读取到的是字符串格式的数据
if(err) {
console.log(err);
return;
}
console.log(‘ok’);
})
//7.fs.copyFile:拷贝文件到新的位置
//src dest callback
fs.copyFile('./package.json', './less/package.json', err => {})
//8.fs.unlink: 删除文件
fs.unlink('./less/1.less', err => {
if(err){return;}
console.log('ok');
})
二、URL内置模块
url.parse(url[, flag])//第二个参数默认是false,设置为true可以把问号传参的部分也解析为对象形式
/*
{
protocol: 'http:', =>协议
slashes: true, =>是否有双斜线
auth: null,
host: 'www.zhufengpeixun.cn', =>域名+端口
port: null, =>端口
hostname: 'www.zhufengpeixun.cn', =>域名
hash: '#video', =>哈希值
search: '?form=qq&lx=stu', =>问号传递的参数[string]
query: 'form=qq&lx=stu', =>问号传递的参数[string] 不包含问号
pathname: '/main/guide/index.html', =>请求资源的路径名称
path: '/main/guide/index.html?form=qq&lx=stu',
href: 'http://www.zhufengpeixun.cn/main/guide/index.html?form=qq&lx=stu#video'
}
*/
三、HTTP内置模块
let http = require('http'),
url = require('url'),
path = require('path'),
fs = require('fs');
//=>创建WEB服务
let port = 8686;
let handle = function handle(req, res) {
//=>REQ:REQUEST 请求对象,包含了客户端请求的信息
// req.url 存储的是请求资源的路径地址及问号传参 例如:/stu/index.html?name=xxx&age=12
// req.method 客户端请求的方式 例如:GET
// req.headers 客户端的请求头信息,它是一个对象
// ...
//=>把请求的URL地址中:路径名称 & 问号传参 分别解析出来
// let {pathname, query} = url.parse(req.url, true);
// console.log(pathname, query);
//=>RES:RESPONSE 响应对象,包含了一些属性和方法,可以让服务器端返回给客户端内容
// res.writeHead 重写响应头信息
// res.write 基于这个方法,服务器端可以向客户端返回内容
// res.end 结束响应
// ...
res.writeHead(200, {
'content-type': 'text/plain;charset=utf-8;'
});
res.end(JSON.stringify({name: '哈哈哈'}));//=>服务器端返回给客户端的内容一般都是 STRING或者BUFFER格式的数据
};
http.createServer(handle).listen(port, () => {
console.log(`server is success,listen on ${port}!`);
});