NodeJS3-1基础API----Path(路径)

path 和路径有关的操作

Path(路径) 

path 模块提供用于处理文件路径和目录路径的实用工具。 它可以使用以下方式访问

const path = require('path');

 1. path.normalize(path) [就是把路径改成比较标准的路径格式]

// 把路径改成比较标准的路径格式
const {normalize} = require('path')
// const normalize = require('path').normalize
console.log(normalize('./user//local/bin'));
console.log(normalize('/user//local/../bin'));

   运行结果

 2.path.join([...paths])  拼接,可以拼接路径,也是规范的拼接

const {join} = require('path')
console.log(join('/user','local','bin/'));
console.log(join('/user','../local','bin/'));

运行结果

3.path.resolve([...paths])   path.resolve() 方法将路径或路径片段的序列解析为绝对路径。

const{resolve} = require('path')
//相对路径帮你解释成绝对路径
console.log(resolve('./'));

运行结果

4.names相关的(path.basename(path[, ext]) & path.dirname(path) &path.extname(path))

path.basename(path[, ext])     文件扩展名

path.dirname(path)                   path 的目录名

path.extname(path)                  path 的扩展名

const {basename,dirname,extname} =require('path')
const filePath = '/user/local/bin/no.txt'
//所在文件名
console.log(basename(filePath));
//所在路径
console.log(dirname(filePath));
//拓展名
console.log(extname(filePath));

运行结果

5.path.parse(path) 和  path.format(pathObject)

path.parse() 方法返回一个对象,其属性表示 path 的重要元素

path.format() 方法从对象返回路径字符串。

const {parse,format} = require('path')
const filePath ='/user/local/node_modules/n/package.json'
// parse 分析一下路径,返回对象
const ret = parse(filePath)
console.log(ret);
// format把对象返回成路径
console.log(format(ret));

运行结果:

当为 pathObject 提供属性时,注意以下组合,其中一些属性优先于另一些属性:

  • 如果提供了 pathObject.dir,则忽略 pathObject.root
  • 如果 pathObject.base 存在,则忽略 pathObject.ext 和 pathObject.name

6.跟操作系统有关的(sep,delimiter,win32,posix)

const {sep, delimiter, win32 ,posix} = require('path')
//路径的分隔符
console.log('sep',sep);
console.log('posix sep',posix.sep);
console.log('PATH',process.env.PATH);
//delimiter,path的分隔符
console.log('delimiter',delimiter);
console.log('posix delimiter',posix.delimiter);

运行结果

可以获取路径的方法(3种)

const path  = require('path');
const mod = require('./02_cusmod.js');
console.log(mod.testVar);
console.log('__dirname    ',__dirname);
console.log('process.cwd()',process.cwd());
console.log('./           ',path.resolve('./'));

运行结果

总结

  • _dirname,_filename 总是返回文件的绝对路径(物理磁盘上的路径)
  • processn.cwd()总是返回执行node命令所在文件夹[当前用户在哪里启动的叫脚本]
  • ./  在require方法中总是相对当前文件所在文件夹
  • ./  在其他地方和process.cwd()一样,相对node启动文件夹
原文地址:https://www.cnblogs.com/chorkiu/p/11417173.html