const path = require('path') // require('./static/test/test') { /* 总结: __dirname: 获得当前执行文件所在目录的完整目录名 __filename: 获得当前执行文件的带有完整绝对路径的文件名 process.cwd():获得当前执行node命令时候的文件夹目录名 ./: 不使用require时候,./与process.cwd()一样,使用require时候,与__dirname一样 只有在 require() 时才使用相对路径(./, ../) 的写法,其他地方一律使用绝对路径,如下: // 当前目录下 path.dirname(__filename) + '/path.js'; // 相邻目录下 path.resolve(__dirname, '../regx/regx.js'); */ } { //获取路径 console.log('获取路径'); let res = path.dirname('./static/test/test.js') // ./static/test console.log("res", res) } { //路径拼接 console.log('------------------------------------'); console.log(__dirname); //当前文件的父目录路径 D:code1 odeDemo odeLearn console.log(path.join(__dirname, '/img/1.png')) // D:code1 odeDemo odeLearnimg1.png console.log(path.join(__dirname, 'img/1.png')) // D:code1 odeDemo odeLearnimg1.png console.log(path.join(__dirname, './img/1.png')) // D:code1 odeDemo odeLearnimg1.png console.log(path.join(__dirname, '../img/1.png')) // D:code1 odeDemoimg1.png console.log('########################################'); console.log(path.resolve(__dirname, '/img/1.png')) // D:img1.png console.log(path.resolve(__dirname, 'img/1.png')) // D:code1 odeDemo odeLearnimg1.png console.log(path.resolve(__dirname, './img/1.png')) // D:code1 odeDemo odeLearnimg1.png console.log(path.resolve(__dirname, '../img/1.png'))// D:code1 odeDemoimg1.png } { //获取文件名path.basename(filepath) let path1 = path.basename('./static/test/test.js') // test.js let path2 = path.basename('/static/1.txt') // 1.txt // 第二个参数去掉结果后缀 let path3 = path.basename('./static/test/test.js', '.js') // test 本来是test.js --去掉.js -->test let path4 = path.basename('./static/test/test.js', '.css') // test.js 去不掉就原样输出 } { //获取后缀 :path.extname(filepath) let ext = path.extname('./static/1.txt') //.txt let ext1 = path.extname('./static/test/test.js') // .js let ext2 = path.extname('static/test/test.js') // .js } { //提供平台特定的路径片段分隔符: Windows 分隔符上是 。 let res = './foo/bar/baz'.split(path.sep); //[ './foo/bar/baz' ] let res1 = 'foo\bar\baz'.split(path.sep); //[ 'foo', 'bar', 'baz' ] }