扫码一下
查看教程更方便
使用 path.resolve()
方法从 Node.js 中的相对路径获取文件的绝对路径,例如 path.resolve('./some-file.js')
。 resolve()
方法会将提供的相对路径解析为绝对路径。
const {resolve} = require('path');
// 如果使用 ES6 模块语法
// import { resolve } from 'path';
const absolutePath = resolve('./another-file.js');
// /Users/jiyik/workspace/js/another-file.js
console.log(absolutePath);
path.resolve
方法采用一个或多个路径段并将它们解析为绝对路径。
如果在没有传递参数的情况下调用 resolve()
方法,或者传递一个空字符串,它将返回当前工作目录的绝对路径。
const {resolve} = require('path');
// 如果使用 ES6 模块语法
// import { resolve } from 'path';
const absolutePath = resolve('');
// /Users/jiyik/workspace/js
console.log(absolutePath);
指定相对路径时,我们还可以指定上一级目录。
const {resolve} = require('path');
// 如果使用 ES6 模块语法
// import { resolve } from 'path';
const absolutePath = resolve('../aws-cli.txt');
// "/Users/jiyik/workspace/aws-cli.txt"
console.log(absolutePath);
我们可能还会看到正在使用的 __dirname
和 __filename
变量。
console.log(__dirname);
console.log(__filename);
__dirname
变量返回当前模块的目录名。
例如,如果我们在位于 /home/user/my-module.js
的模块中使用 __dirname
变量,则 __dirname
变量将返回 /home/user
。
__filename
变量返回当前模块的绝对路径。
因此,如果我们在位于 /home/user/my-module.js
的模块中使用 __filename
变量,则 __filename
变量将返回 /home/user/my-module.js
。