我有一棵这样的树。
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'
我真的不明白
答案 0 :(得分:3)
fs
不知道当前的模块路径,并且依赖于当前工作目录(process.cwd()
)的相对路径。
对于特定于当前模块路径的操作,应使用__dirname
:
fs.readdirSync(path.join(__dirname, '../folder2'))