nodejs核心模块以及相关常用api

1.path模块

使用: var path = require('path');

(1)path.resolve:将一系列路径或路径段解析为绝对路径。

注意:

1、存在多个路径段时,只有最右边的有效

2、如果没有参数传递,path.resolve()将返回当前工作目录的绝对路径

3、如果调用后没有产生绝对路径,如:path.resolve("index.html"),则会默认拼上当前工作目录的绝对路径,效果等同于:path.resolve(__dirname, "index.html")

如以下示例:

path.resolve("/dist", "/index");  //  D:\index
path.resolve("/dist", "index");  //   D:\dist\index
path.resolve("/dist", "/index", 'index.html')  //  D:\index\index.html
path.resolve("/dist", "index", 'index.html')  //   D:\dist\index\index.html
path.resolve()  //  D:\changework\muchEntry\config

path.resolve("index.html")  //  D:\changework\muchEntry\config\index.html
path.resolve(__dirname, "index.html")   //  D:\changework\muchEntry\config\index.html

(2)path.join:使用特定于平台的分隔符作为分隔符将所有给定的段连接在一起,然后规范化生成的路径。

支持传入. ./ .. ../

path.join("dist", "index", "index.html")  //  dist\index\index.html
path.join("dist", "index", "index.html", ".")  // dist\index\index.html
path.join("dist", "index", "index.html", "./")  // dist\index\index.html\

path.join("dist", "index", "index.html", "..")  // dist\index
path.join("dist", "index", "index.html", "../")  // dist\index\

(3)path.basename:返回path的最后一部分,通常用于获取文件名,尾随目录分隔符被忽略。

格式:path.basename(path, ext)

path::路径

ext:可选的文件扩展名,若成功匹配,则最后获取的字符串将会不会带上文件扩展名

path.basename("/dist/index/index/index.html")   //  index.html
path.basename("/dist/index/index/index.html", '.html')   // index

(4)path.dirname:返回给定路径除最后一段的部分。

path.dirname("/dist/index/index.html")  //  /dist/index
path.dirname("/dist/index/")    // /dist

(5)path.extname:返回给定路径下"."出现的最后一次的位置之后的字符串。

path.extname("/dist/index/index/index.html")  //  .html

(6)path.format:通过传入对象返回制定规则路径字符串。

格式:

path.format({

        dir: " ".   //路径

        root: " ",   //根地址

        base: " ",   //文件名+扩展名

        name: " ",  //文件名称

        ext: " "   //文件扩展名
})

注意:

1、如果存在dir,root设置的值则被忽略。

2、如果存在base,name以及ext设置的值则被忽略。

path.format({
    dir: "/dist/index",
    base: "index.html"
})   //   /dist/index\index.html


path.format({
    root: "/dist/",
    name: "index2",
    ext: ".txt"
})   //   /dist/index2.txt


path.format({
    root: "/dist2/",
    dir: "dist/index",
    base: "index.html",
    name: "index2",
    ext: ".txt"
})   //  dist/index\index.html

(7)path.parse:将给定的路径转化为一个对象,如之前path.format传参对象格式。

path.parse("/dist/index/index.html")   

/*
{ 
  root: '/',
  dir: '/dist/index',
  base: 'index.html',
  ext: '.html',
  name: 'index' 
}

*/

2、url模块

使用: var url = require('url');

类似于浏览器环境下window.location,用来处理或者获取url相关信息。

(1)url.parse:将给定的url转化为一个URL对象,效果类似于new URL(url)

var url = require("url");

var testUrl = "http://192.168.1.124:3000/Web_WorkPlatform/html/index/?lg_tk=D266C76B-8C4F-4827-A982-E5B88B6CC571#/communication";

console.log(url.parse(testUrl));

【注:url.parse(url, true)可以让query中的字符串转成对象格式,方便读取参数,在处理get请求参数时经常使用】

(2)URLSearchParams:用于快捷构造url参数

格式:new URLSearchParams(iterable)

iterable:  可以是一个数组或者任何迭代对象

let { URLSearchParams } = require('url');

let paramStr = new URLSearchParams({
    name: 'pzw',
    age: '265'
}).toString();

console.log(paramStr);

 可以使用set,get,delete,append,entries,has对URLSearchParams实例进行操作。

3、http模块

通常我们使用http模块用于创建一个服务器脚本。

let http = require('http');
let server = http.createServer();
server.on('request', function(req, res){
    //req 请求对象
    //res 响应对象
    res.write("hello server");
    res.end();
})
server.listen(8888, function(){
    console.log('server is running at port 8888');
})

4、fs模块

js模块用于处理文件的读写。

(1)fs.readFile(path, rule, callback)

path:  读取文件的路径

rule:读取文件的格式类型

callback: 读取文件后的回调函数,通常接收2个参数,error和data

let fs = require('fs');

fs.readFile('data.txt', 'utf-8', function(error, data){
    if(error){
        console.log(error);
        return;
    }
    console.log(data);
})

(2)fs.writeFile(),用法与fs.readFile相同,用于编写文件内容

let fs = require('fs');

fs.readFile('data.txt', 'utf-8', function(error, data){
    if(error){
        console.log(error);
        return;
    }
    let newData = data + ";我是编辑后的内容";
    fs.writeFile('data.txt', newData, 'utf-8', function(error){
        if(error){
            console.log(error);
            return;
        }
    })
    
})

(3)fs.existsSync(path):检测该path是否存在

(4)fs.mkdirSync(path):根据path创建一个文件夹

(5)fs.readdirSync(path):读取path目录下所有文件,返回一个数组

(6)fs.unlinkSync(path):删除文件

(7)fs.rmdirSync(path):删除文件夹

【注:当文件夹内含有文件时,直接调用rmdirSync会失败,需要添加options参数,fs.rmdirSync(path, {recursive: true})】

(8)fs.createWriteStream(path):创建文件可写流,可用于新建文件,返回一个对象,可利用write()写入数据,close()关闭。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值