nodeJS常用路径API示例简记

发布时间 2023-06-28 14:08:45作者: 戡玉

常用 API 汇总:

process.cwd():        返回当前执行node命令时的所在目录
path.dirname():       返回当前执行文件的所在目录
__dirname:            返回当前执行文件的所在目录(只能在CommonJS规范下使用)
__filename:           返回当前执行文件的绝对路径(只能在CommonJS规范下使用)
import.meta.url:      返回当前执行文件的 URL 地址(只能在ES Modules规范下使用)
url.fileURLToPath():  将文件的 URL 转为文件路径

假设项目目录位于D:\www\demo,该目录下包含test.jstest.mjs2个文件。

test.js代码如下:

const { dirname } = require('path');

console.log(dirname(__filename))
console.log(__dirname)
console.log(__filename)
console.log(process.cwd())

执行test.js效果如下:

// 在 D:\www\demo 执行
D:\www\demo
D:\www\demo
D:\www\demo\test.js
D:\www\demo

// 在 D:\www 执行
D:\www\demo
D:\www\demo
D:\www\demo\test.js
D:\www

test.mjs代码如下:

import {dirname} from 'path';
import {fileURLToPath} from 'url';

console.log(import.meta.url)
console.log(fileURLToPath(import.meta.url))
console.log(dirname(fileURLToPath(import.meta.url)))

执行test.mjs效果如下:

// 在 D:\www\demo 执行
file:///D:/www/demo/test.mjs
D:\www\demo\test.mjs
D:\www\demo

// 在 D:\www 执行
file:///D:/www/demo/test.mjs
D:\www\demo\test.mjs
D:\www\demo