一、什么是POSIX
可移值的操作系统接口。目前我能看懂的所了解的只有unix。
要在任何操作系统上使用 Windows 文件路径时获得一致的结果,则使用 path.win32
要在任何操作系统上使用 POSIX 文件路径时获得一致的结果,则使用 path.posix
/**
* normalize:
* join:组合文件路径
* resolve:查看文件的绝对路径
*/
const {normalize,join,resolve,basename,extname,dirname,parse,format
,sep,delimiter,win32,posix
} = require("path");
// 上面是es8的写法,下面这句是传统写法
// const normalize = require("path").normalize;
console.log(normalize("C:\\jennifer\\nodestudy\\"));
console.log(normalize("C:\\jennifer\\..\\nodestudy\\"));
console.log(join('/d','eee'));
console.log(join('/d','../eee'));
console.log(resolve("aa.txt"))
const filePath = "C:\\jennifer\\nodestudy\\01_path.js";
console.log(basename(filePath));
console.log(extname(filePath));
console.log(dirname(filePath));
console.log(parse(filePath));
console.log(format(parse(filePath)));
console.log("sep:",sep)
console.log("win 32:",win32)
console.log("delimiter:",delimiter)
console.log("path:",process.env.filePath)
console.log("posix:",posix)
const path = require("path");
/**
* 测试:1- 在文件夹所在的目录执行node 文件名.js
* 2- 返回上级,执行node 文件名.js
*
* __dirname和__filename总是返回文件的绝对路径
* process.cwd()总是返回执行node命令所在的文件夹
* 在require方法中总是相对当前文件所在的文件夹
* 在其它地方和process.cwd()一样,相对node启动文件夹(只根在那里调用的命令有关系了)
*/
console.log("__dirname:", __dirname);
console.log("process.cwd():", process.cwd());
console.log("./ :", path.resolve("./"));
这两节课能记住的东西 ,容易混淆的东西比较多一点。还得查文档, 但是至少在脑子里有一个原型,知道用的时候来引用path模块,或者直接用某些变量即可。等看文档的时候再来补充 。