Node.js 节点保存到外部文件夹

Node.js 节点保存到外部文件夹,node.js,Node.js,我想将所有文件保存到节点应用程序外部的外部文件夹中。我收到一个错误,ENOTDIR:不是目录 backend ├──routes │ └──savefiles.js │ externalFolder 如何写入外部文件夹 fs.writeFileSync('../../externalFolder/report.docx',缓冲区)如果后端和外部文件夹处于同一级别,并且当前工作目录是包含savefiles.js的目录,则您需要使用以下工具再上一级: fs.writeFileSy

我想将所有文件保存到节点应用程序外部的外部文件夹中。我收到一个错误,
ENOTDIR:不是目录

backend
  ├──routes
  │    └──savefiles.js
  │
externalFolder
如何写入外部文件夹


fs.writeFileSync('../../externalFolder/report.docx',缓冲区)

如果
后端
外部文件夹
处于同一级别,并且当前工作目录是包含
savefiles.js
的目录,则您需要使用以下工具再上一级:

fs.writeFileSync('../../../externalFolder/report.docx', buffer);
第一个
进入
routes
目录。第二个可以让您进入
后端
目录。您需要使用第三个
到达
后端
父级
这样您就可以进入
外部文件夹
目录

注意,您可以使用以下工具自行调试:

console.log(path.resolve('../../externalFolder'));
此外,您还可以通过使用模块的目录构造路径来消除对当前工作目录的依赖,例如:

fs.writeFileSync(path.join(__dirname, '../../../externalFolder/report.docx'), buffer);

如果
backend
externalFolder
处于同一级别,并且当前工作目录是包含
savefiles.js
的目录,则您需要使用以下命令再上一级:

fs.writeFileSync('../../../externalFolder/report.docx', buffer);
第一个
进入
routes
目录。第二个可以让您进入
后端
目录。您需要使用第三个
到达
后端
父级
这样您就可以进入
外部文件夹
目录

注意,您可以使用以下工具自行调试:

console.log(path.resolve('../../externalFolder'));
此外,您还可以通过使用模块的目录构造路径来消除对当前工作目录的依赖,例如:

fs.writeFileSync(path.join(__dirname, '../../../externalFolder/report.docx'), buffer);


调用
fs.writeFileSync('../../externalFolder/report.docx',buffer)时的当前工作目录是什么
?savefiles.js目录。是
externalFolder
backend
处于同一级别还是
backend
的子目录?它处于同一级别。调用
fs.writeFileSync('../../externalFolder/report.docx',buffer)时,当前的工作目录是什么
?savefiles.js目录。是否与
后端
处于同一级别,或者是
后端
的子目录?它处于同一级别。我仍然得到enoint:没有这样的文件或目录,打开。是否有办法检查并查看目录是否存在。Ie,console.log()@bp123-好吧,按照我的建议进行调试,看看你的相对路径的完整路径是什么。也许当前的工作目录不是您认为的那样。此外,Enoont与ENOTDIR不同。可能存在权限问题。@bp123-我还建议了一种方法来删除您对当前工作目录的依赖关系。不知何故,我怀疑
savefiles.js
是否是入口点模块。如果我不得不猜测,我会说不使用
\uu dirname
的正确相对路径将是
'externalFolder/report.docx'
,假设
backend
是项目根目录中的一个目录。@bp123-这可能意味着当前工作目录不是您想象的目录。该应用程序显然不是从savefile.js所在的位置启动的。我仍然得到一个提示:没有这样的文件或目录,打开。是否有办法检查并查看目录是否存在。Ie,console.log()@bp123-好吧,按照我的建议进行调试,看看你的相对路径的完整路径是什么。也许当前的工作目录不是您认为的那样。此外,Enoont与ENOTDIR不同。可能存在权限问题。@bp123-我还建议了一种方法来删除您对当前工作目录的依赖关系。不知何故,我怀疑
savefiles.js
是否是入口点模块。如果我不得不猜测,我会说不使用
\uu dirname
的正确相对路径将是
'externalFolder/report.docx'
,假设
backend
是项目根目录中的一个目录。@bp123-这可能意味着当前工作目录不是您想象的目录。该应用程序显然不是从savefile.js所在的位置启动的。