如何在NodeJS中使用相对路径(参数)获取文件



我想使用myFunction()获取文件

如果用户将相对路径作为函数参数传递,如何获取文件

/某处/index.js

import {myFunction} from "../pathTo/app.js";

myFunction("../relative/path/file.txt");

app.js

export const myFunction = (path) => {
fs.readFile(path); //=> How to get the file here
};

假设我们有一个终端执行node.js文件,并且终端在上打开

/home/user

node.js文件的路径为

/home/user/test

然后我们可以通过两种不同的方式获得文件的相对路径

var path = require("path");
let path1=path.join('__dirname','../relative/path/file.txt');
fs.readFile(path1);
let path2=path.join('./','../relative/path/file.txt');
fs.readFile(path1);

此处'__dirname'表示当前正在执行的node.js文件所在的实际路径,即

/home/user/test

'./'表示node.js文件执行的路径,即

/home/user

终端当前所在的路径,并执行给定的node.js文件

因此

path1将表示相对于包含node.js文件的目录的路径

path1='/home/user/test/../relative/path/file.txt'
= '/home/user/test/relative/path/file.txt'

path2将表示终端运行位置的真实路径

path2='/home/user/../relative/path/file.txt'
='/home/relative/path/file.txt'

__dirname和./之间的差异在Node.js 中

Path Node.js文档

相关内容

  • 没有找到相关文章

最新更新