node.js核心模块 path模块

30 篇文章 0 订阅

node.js核心模块 path模块

简介

官网文档地址:http://nodejs.cn/api/path.html#path_path
它是也是node中的核心模块,作用是用来处理路径问题:拼接,分析,取后缀名等等。

使用步骤

  1. 引入模块。
const path = require('path')
  1. 使用模块。

path模块常用方法列表

方法作用
path.basename(path[, ext])获取返回 path 的最后一部分(文件名)
path.dirname(path)返回目录名
path.extname(path)返回路径中文件的扩展名(包含.)
path.format(pathObject)将一个对象格式化为一个路径字符串
path.join([…paths])拼接路径
path.parse(path)把路径字符串解析成对象的格式
path.resolve([…paths])基于当前工作目录拼接路径

常用的api

  • path.basename() :此方法返回 path 的最后一部分。一般可用来获取路径中的文件名。
  • path.join():路径拼接。
  • path.parse(pathurl) :把一个路径转成一个对象

示例

path.basename('/foo/bar/baz/asdf/quux.html');// 返回: 'quux.html'
path.basename('/foo/bar/baz/asdf/quux.html', '.html');// 返回: 'quux'
path.dirname('/foo/bar/baz/asdf/quux');// 返回: '/foo/bar/baz/asdf'
path.extname('index.html');// 返回: '.html'

注意:不考虑其中地址是否真的存在,只是单纯调用方法,获取结果。

使用path模块解决文件读写中的路径拼写

   // 拼接html5.jpg的绝对路径
    // 1) 找到当前文件夹的绝对路径
    console.log(__dirname)
    // 2) 加上 html5.jpg
    const fs = require('fs')
    const path = require('path')
    const filePath = path.join(__dirname, 'html5.jpg')
    // const filePath = __dirname + '\\html5.jpg'
    // 走一步,看一步
    console.log(filePath)
    
    fs.readFile(filePath,function(err, data) {
      if(err) {
        console.log(err)
        return
      }
      console.log(data)
    })
    

案例

对json数据进行操作。

|--db
|-----data.json
|--yourfile.js

data.json

[{"name":"小王"},{"name":"小李"}]

yourfile.js

// 这里写你的代码
// ......
// 完成的功能是: node yourfile.js之后,会在data.json中添加一条记录:

会在data.json中添加一条记录

[{"name":"小王"},{"name":"小李"},{"name":"小张"}]

代码演示

const fs = require('fs')
const path = require('path')

let filePath = path.join(__dirname, 'db', 'data.json')

fs.readFile(filePath, 'utf8', (err, data) => {
    if (err) throw err
    let arr = JSON.parse(data)
    arr.push({ "name": "小张" })
    let content = JSON.stringify(arr)
    fs.writeFile(filePath, content, (err) => {
        if (err) throw err
    })
})

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值