我有一棵这样的树。
folder1
file1.js
folder2
file2.js
index.js
我需要使用index.js 中的file1
我想从文件 1 获取文件 2
如果我这样做 const file2= require('../folder2/file2.js');
它可以工作
如果我动态地这样做
const myFiles = fs.readdirSync('../folder2').filter(file => file.endsWith('.js'));
for (const file of myFiles )
{
const myFile = require(`../folder2/${file}`);
}
我收到了
return binding.readdir(pathModule._makeLong(path), options.encoding);
^
Error: ENOENT: no such file or directory, scandir 'displaying a wrong path here'
如果在我的 readdir 中我做了一个简单的 ./
我还有
Cannot find module './folder2/file2.js'
我真的不明白
最佳答案
fs
不知道当前模块路径,并依赖于当前工作目录 (process.cwd()
) 的相对路径。
对于特定于当前模块路径的操作,应使用 __dirname
:
fs.readdirSync(path.join(__dirname, '../folder2'))
关于node.js - Node js找不到与父路径相关的我自己的模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52926924/