Node.js(三)

node.js(三)



前言

简单介绍三种基本的模块,着重介绍了fs模块,举出一些例子。


一、查询字符串模块(querystring)

查询字符串是浏览器端向服务器端传递数据的一种方式,位于URL中,
https://search.js.com/Search?keyword=电视&&utf-8
查询字符串模块用于操作查询字符串的工具模块
parse() 将查询字符串解析为对象

const querystring=require('querystring');// 引入查询字符串模块
// console.log(querystring);
let str='keyword=笔记本&price=4199';// 查询字符串模块
let obj=querystring.parse(str);//使用查询字符串模块解析为对象parse
console.log(obj);
console.log(obj.keyword+'\t',obj.price);

二、URL模块

URL:统一资源定位符,互联网上的任何都用对应的网址可以访问到,这个网址就是URL。
http://www.codeboy.com:9999/admin/login.html?lid=1
http协议 域名/IP地址 端口 文件路径 查询字符串
URL模块是用来操作URL的工具模块
parse() 将URL解析为对象,可以得到各个部分

代码如下(示例):

let url = require('url');//引入url模块
let str = 'http://www.codeboy.com:9999/product.html?lid=1';//URL
let obj = url.parse(str);//将URL解析为对象
console.log(obj);
console.log(`
   协议:   ${obj.protocol}
   域名:   ${obj.host}
   端口:   ${obj.port}
   路径:   ${obj.pathname}
   查询:   ${obj.query}
   URL :   ${obj.href}
`);

三、文件系统模块

let file = require('fs');//引入文件模块

1)查看文件状态(同步/异步)

statSync(路径)/stat(路径,回调函数)
回调函数(err,s)=>{},s不是必须的
err 可能产生的错误
s 获取成功的结果(是一个对象)
isFile() 是否为文件检测
isDirectory() 检测是否为目录

2)查看目录下的文件

readdirSync(‘文件路径’)/readdir(‘文件路径’,回调函数);
回调函数(err,result)=>{},result不是必须的
err 可能产生的错误
result 获取成功的结果(是一个数组)

//同步
let re=file.readdirSync('../day020');//同步
console.log(re);
console.log('ending');

//异步
 let re=file.readdir('../day02',(err,result)=>{
    if(err){
        throw err;
    }
    console.log(result);
});
console.log('ending'); 

3)异步创建目录/文件

mkdir(‘path’,callback);
创建成功cellback不返回任何结果,只在目录下多出一个目录

file.mkdir('./01',(err)=>{
    if(err) throw err;
});

4)异步移除目录/文件

rmdir(‘path’,callback);//成功不返回任何值,移除

file.rmdir('./01',(err)=>{  
    if(err) throw err;
 });

5)覆盖文件写入内容

writeFileSnyc(‘path’,‘content’);/writeFile(‘path’,‘content’,callback);//成功不返回任何值
首先判断文件是否存在,不存在则创建写入数据,存在的话覆盖写入。

同步
file.writeFileSync('./01.txt','daijigia');

异步
 file.writeFile('./02.txt','然哥',(err)=>{
            if(err) throw err;
 });

6)追加写入

appendFileSync(‘path’,‘content’)/appendFile(‘path’,‘content’,callback);
首先判断文件是否存在,不存在则创建写入数据,如果存在则在文件的末尾追加函数

file.appendFileSync('./1.txt','离开了达内');//同步
 file.appendFile('./02.txt','beautiful',(err)=>{//异步
     if(err) throw err;
 });

7)重命名文件

renameSync(‘oldName’,‘newName’)/renameSync(‘oldName’,‘newName’,callback)

 file.renameSync('./1.txt','01.txt');
 file.rename('./01.txt','1.txt',(err,c)=>{
     if(err) throw err;
     console.log(c);
 });

8)读取文件

readFileSync(‘path’)/readeFile(‘path’,callback);
callback(‘err’,data); data是读取成功的buffer,需使用toString()方法转换输出
//读取文件

 let data=file.readFileSync('./stu.txt');
console.log(data.toString()); */
file.readFile('./stu.txt',(err,data)=>{
    if (err) throw err;
    console.log(data.toString());
});

9)删除文件

unlinkSync(’'path)/unlink(‘path’,callback)

 file.unlinkSync('./01.txt');
 
file.unlink('./02.txt',(err)=>{
    if(err) throw err;
});

10)检测一个文件(目录)是否存在

existsSync(‘path’); =>true false

11)拷贝文件

copyFile(‘path’,‘newpath’,callback);

file.copyFile('./stu.txt','../day03/stu1.txt',(err)=>{
    if(err) throw err;
});

总结

Node.js中有很多模块,要想熟练的使用这些模块的功能还需要去看官方文档。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值