常用 API 汇总:
process.cwd(): 返回当前执行node命令时的所在目录
path.dirname(): 返回当前执行文件的所在目录
__dirname: 返回当前执行文件的所在目录(只能在CommonJS规范下使用)
__filename: 返回当前执行文件的绝对路径(只能在CommonJS规范下使用)
import.meta.url: 返回当前执行文件的 URL 地址(只能在ES Modules规范下使用)
url.fileURLToPath(): 将文件的 URL 转为文件路径
假设项目目录位于D:\www\demo
,该目录下包含test.js
和test.mjs
2个文件。
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
标签:www,console,log,nodeJS,demo,示例,API,test,dirname
From: https://www.cnblogs.com/kanyu/p/17511250.html