node内置模块

一、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}!`);
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值