node.js核心模块 path模块

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
    })
})

上一篇:Springboot上传文件


下一篇:WordPress mb.miniAudioPlayer插件多个跨站脚本漏洞