- path.extname
获取路径扩展名, 获取文件名最后一个位置的扩展名
下面是官网的例子
console.log(path.extname('index.html')); // '.html'
console.log(path.extname('index.coffee.md')); // '.md'
console.log(path.extname('index.')); // '.'
console.log(path.extname('index')); // ''
console.log(path.extname('.index')); // ''
console.log(path.extname('.index.md')); // '.md'
- path.resolve()
将路径或路径片段的序列解析为绝对路径
const path = require("path");
console.log(path.resolve('/foo/bar', './baz')); // F:\foo\bar\baz
console.log(path.resolve('/foo/bar', '/tmp/file/')); // F:\tmp\file
console.log(path.resolve('/foo/bar', 'tmp/file/')); // F:\foo\bar\tmp\file
console.log(path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));
// F:\前端开发\node\code3\08.PATH\wwwroot\static_files\gif\image.gif
- path.join()
使用特定于平台的分隔符作为定界符将所有给定的
path
片段连接在一起,然后规范化生成的路径。
const path = require("path");
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux')); // \foo\bar\baz\asdf\quux
// 注意: .. 是上一级目录
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '..')); // \foo\bar\baz\asdf
// 注意: . 是当前目录
console.log(path.join('/foo', 'bar', 'baz/asdf', 'quux', '.')); // \foo\bar\baz\asdf\quux
- __dirname
获取当前模块的目录名
const path = require("path");
console.log(__dirname); // F:\前端开发\node\code3\08.PATH
console.log(path.join(__dirname, '/src')); // F:\前端开发\node\code3\08.PATH\src
console.log(path.resolve(__dirname, '/src')); // F:\src
console.log(path.resolve(__dirname, 'src')); // F:\前端开发\node\code3\08.PATH\src
- path.parse()
解析路径,返回一个对象
返回的对象将具有以下属性:
dir
目录
root
根路径
base
文件全名
name
文件名(不包括扩展名)
ext
扩展名
const path = require("path");
console.log(__filename); //F:\前端开发\node\code3\08.PATH\nodePath2.js
console.log(path.parse(__filename));
//
{
root: 'F:\\',
dir: 'F:\\前端开发\\node\\code3\\08.PATH',
base: 'nodePath2.js',
ext: '.js',
name: 'nodePath2'
}
总结
- 这些路径方法很常用,比如在webpack配置中也有用到__dirname和path.resolve()