Node.js nodejs可以';找不到与父路径相关的我自己的模块
我有一棵像这样的树Node.js nodejs可以';找不到与父路径相关的我自己的模块,node.js,fs,Node.js,Fs,我有一棵像这样的树 folder1 file1.js folder2 file2.js index.js 我需要使用index.js从中获取文件1 从文件1中,我需要文件2 如果我执行constfile2=require('../folder2/file2.js')它可以工作 如果我这样做的话 const myFiles = fs.readdirSync('../folder2').filter(file => file.endsWith('.js')); for (co
folder1
file1.js
folder2
file2.js
index.js
我需要使用index.js从中获取文件1
从文件1中,我需要文件2
如果我执行constfile2=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()
)来获取相对路径
对于特定于当前模块路径的操作,应使用\u dirname
:
fs.readdirSync(path.join(__dirname, '../folder2'))
好的,我用了你说的,它返回这个:D:\Users\username\Documents\git\projectDirectory\所以从技术上讲,如果我这样做。/folder2/file2.js它应该可以工作,但从技术上讲,
不是你所想的。正如我所说,fs
依赖于当前的工作目录process.cwd()===\uu dirname
内部folder1/file1
仅当从folder1
启动脚本时。