path.join

将多个字符串参数拼接在一起

path.join([...paths]): string

path.join('/foo', 'bar', 'baz/asdf', 'quux', '..');
// Returns: '/foo/bar/baz/asdf'

path.resolve

在path.join的基础上,返回绝对路径

path.resolve([...paths]): string

path.resolve('wwwroot', 'static_files/png/', '../gif/image.gif');
// If the current working directory is /home/myself/node,
// this returns '/home/myself/node/wwwroot/static_files/gif/image.gif' 

path.parse

把一个字符串当成一个路径来解析

path.parse(path: string): object

path.parse('/home/user/dir/file.txt');
// Returns:
// { root: '/',
//   dir: '/home/user/dir',
//   base: 'file.txt',
//   ext: '.txt',
//   name: 'file' } 

path.dirname

返回路径字符串的目录

path.dirname(path: string): string

path.dirname('/foo/bar/baz/asdf/quux');
// Returns: '/foo/bar/baz/asdf' 

__dirname

当前文件所在的目录

__dirname: string

// running node example.js from /Users/mjr
console.log(__dirname);
// Prints: /Users/mjr
console.log(path.dirname(__filename));
// Prints: /Users/mjr 

process.execPath

nodejs可执行文件的路径

process.execPath: string

// 开发用
const configInfo = require(path.join(__dirname,'../data/config.json'));
// 打包用,因为打包后的相对路径已经发生变化,已经不是以开发根目录为基准,这时用nodejs的可执行文件为基准是很可靠的
const configInfo = require(path.join(process.execPath,'../data/config.json'));

热饭班长
3.7k 声望434 粉丝

先去做,做出一坨狗屎,再改进。