```
// let path = require('path');
//一个'\'是打印不出来的,它是转义符,有特殊意义
// console.log('\'); //报错
/**
* normalize
* 对路径进行容错处理
* 主要是 路径分隔符多不多,有没有..有的话自动转化
*/
const {normalize} = require('path');
console.log(normalize('/usr//local/bin')); // /usr/local/bin
console.log(normalize('usr//local/../bin')); // /usr/bin
/**
* join
* 在拼接路径之前hi调用normalize
*/
const {join} = require('path');
console.log(join('usr/','local','bin')); // usr/local/bin
/**
* 将相对路径解析成绝对路径
*/
const {resolve} = require('path');
console.log(resolve('./'))
/**
* basename,dirname,extname
*/
const {basename,dirname,extname} = require('path');
const filePath = '/usr/local/bin/no.txt';
console.log(basename(filePath)); //no.txt
console.log(dirname(filePath)); //文件夹 /usr/local/bin
console.log(extname(filePath)); //后缀
/**
* parse 和 format 作用是相反的
* return pathObject
*/
const {parse,format} = require('path');
const ret = parse(filePath);
console.log(ret);
// { root: '/',
// dir: '/usr/local/bin',
// base: 'no.txt',
// ext: '.txt',
// name: 'no' }
console.log(format(ret)); // /usr/local/bin/no.txt
//format若存在冲突dir和base的优先级较高
/**
*
*/
const {
sep,
delimiter,
win32,
posix
} = require('path');
console.log('sep:',sep); //当前系统的路径分隔符
console.log('win sep',win32.sep); //查看window下的路径分隔符
console.log('posix sep',posix.sep);
console.log('PATH',process.env.PATH); //系统环境变量
console.log('delimiter:',delimiter); // : 系统环境变量的分隔符
```
```
let path = require('path');
// const mod = require('./0');
// console.log(mod.testVar);
console.log('__dirname',__dirname); //D:\WEB\zfplan\studydaydayup\node\node-base\path
console.log('process.cwd()',process.cwd()); //D:\WEB\zfplan\studydaydayup\node\node-base\path
console.log('./',path.resolve('./')); //D:\WEB\zfplan\studydaydayup\node\node-base\path
/**
* 若用命令行打印 此时若在命令行中退后一层 再打印
* cwd,resolve 为命令行所处位置,而__dirname和__filename永远是绝对路径
*/
/** 对于 : 【./】
* require方法无论怎么调都是文件的绝对路径
* 其它地方和process.cwd一样,是指node启动的路径位置
*/
```
## process.chdir可以更改当前控制台位置
![](https://box.kancloud.cn/825ee3379814b97599bffdcc473c535f_275x182.png)
![](https://box.kancloud.cn/fb18cd5130d14bfc1cef2c107b1b4e55_474x119.png)