/**
* normilaze根据平台的不同把路径规范化
* 不用手动去掉多余的 / 和 路径查找 ..
*/
const { normalize } = require('path');
console.log(normalize('usr//local/bin')); //usr\local\bin
console.log(normalize('usr/local/../bin')); //usr\bin
console.log('----------------------');
/**
* join内部使用了normalize
* 作用是拼接成一个符合平台规范的路径
*/
const { join } = require('path');
console.log(join('usr', '//local', 'bin')); //usr\local\bin
console.log(join('usr', 'local', '../bin')); //usr\bin
console.log('----------------------');
/**
* 把一个相对路径解析成绝对路径
*/
const { resolve } = require('path');
console.log(resolve('./'));
console.log('----------------------');
/**
* basename: 文件名
* dirname: 文件夹路径
* extname:拓展名
*/
const { basename, dirname, extname } = require('path');
const filePath = '/usr/local/bin/no.txt';
console.log(basename(filePath));
console.log(dirname(filePath));
console.log(extname(filePath));
console.log('----------------------');
/**
* parse: 解析路径为一个对象
* format:作相反的操作
*/
const { parse, format } = require('path');
const filePath1 = '/usr/local/node_modules/n/package.json';
const ret = parse(filePath1);
console.log(ret);
console.log(format(ret));
console.log('----------------------');
/**
* sep: 当前平台的路径中的分隔符
* delimiter: 当前平台的路径之间分隔符。 例如: 环境变量中用;来分割多个路径
* win32: window平台
* posix: posix平台
*/
const { sep, delimiter, win32, posix } = require('path');
console.log('sep: ', sep);
console.log('posix sep: ', posix.sep);
console.log('delimiter: ', delimiter);
console.log('posix delimiter: ', posix.delimiter);