Node 之 path 模块

简介:

  path就是其中的一个应用模块,path模块提供了一些用于处理文件路径或者目录的小工具  

const path = require('path');

path 模块 API

 1.path.basename(path[, ext]) 

  参数说明:path:文件路径 string,ext(可选参数)文件的扩展名 string,返回string。

  获取路径中文件名,后缀是可选的,如果加请使用'.xxx'方式来匹配,则返回值中不包括后缀名;

  如果 path 或 ext 不是字符串,则抛出 TypeError

const path = require('path')
// test文件夹下有一个test.html文件 console.log(path.basename('/test/test.html')) // test.html

  

const path = require('path')

console.log(path.basename('/test', '.html'))

// test

2.path.delimiter

  返回操作系统中目录分隔符 

console.log(process.env.PATH)
// /Users/apple/development/flutter/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin

const path = require('path')
const val = process.env.PATH.split(path.delimiter)
console.log(val)

/*
['/Users/apple/development/flutter/bin',
  '/usr/local/bin',
  '/usr/bin',
  '/bin',
  '/usr/sbin',
  '/sbin'
]
*/

3.path.dirname(path)

  参数: path 路径(string),函数返回一个string

  获取路径中目录名

const path = require('path')

// 当前目录有个test文件夹下有test.html文件
console.log(path.dirname('test/test.html'))
//test

  __dirname是node.js中的一个全局变量,用来获取当前模块文件所在目录的完整绝对路径

const path = require('path')

// __dirname是node.js中的一个全局变量,用来获取当前模块文件所在目录的完整绝对路径
let thisPath = path.dirname(__dirname + '/test/test.html')
console.log(thisPath)

// /Users/apple/Desktop/githubdoc/node/path/test

  

4.path.extname(path)

  path string 返回 string

  返回 path 的扩展名,即从 path 的最后一部分中的最后一个 .(句号)字符到字符串结束。 如果 path 的最后一部分没有 . 或 path 的文件名(参阅 path.basename())的第一个字符是 .,则返回空字符串。

const path = require('path')

console.log(path.extname('test.html'))
// .html

console.log(path.extname('test.md'))
// .md

console.log(path.extname('test'))
// 返回空 

console.log(path.extname('.test'))
// 返回空

console.log(path.extname('test.'))
// .

 

5.path.join([...paths])

 参数说明:...paths <string> 路径片段。返回: <string>

  使用平台特定的分隔符把所有 path 片段连接到一起,并规范化生成的路径。

  空字符串的 path 片段会被忽略。 如果连接后的路径是一个空字符串,则返回 '.',表示当前工作目录。

const path = require('path')

path.join('/foo', '/bar', 'baz/abc', 'edf', '..')
//  Returns: /foo/bar/baz/abc

path.join('foo', {}, 'bar')
// throws TypeError: Arguments to path.join must be strings

  

6.path.normalize(path)

  路径解析,得到规范化的路径格式,对window系统,目录分隔为'\', 对于UNIX系统,分隔符为'/',针对'..'返回上一级;/与\\都被统一转换

//For example on POSIX:
path.normalize('/foo/bar//baz/asdf/quux/..')
// Returns: '/foo/bar/baz/asdf'

//On Windows:
path.normalize('C:\\temp\\\\foo\\bar\\..\\');
// Returns: 'C:\\temp\\foo\\'

7.path.relative(from, to)

 获取两路径之间的相对关系

   -from 当前路径,并且方法返回值是基于from指定到to的相对路径

   -to 到哪路径

const path = require('path')
// 获取两路径之间的相对关系

// from 当前路径, 并且方法返回值是基于from指定到to的相对路径
// to 到哪路径
path.relative('/data/orandea/test/aaa', '/data/orandea/impl/bbb')
// Returns: '../../impl/bbb'

8.path.resolve([...paths])

  以应用程序为起点,根据参数字符串解析出一个绝对路径  

const path = require('path')

let thisPath = path.resolve('path1' + '/dist/bundle.js')
console.log(thisPath)

//Users/apple/Desktop/githubdoc/node/path/path1/dist/bundle.js

  

posted @ 2019-01-08 09:46  今晚打老虎i2016  阅读(340)  评论(0编辑  收藏  举报