You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确使用path.resolve?src目录下生成文件到dist的路径问题

解决路径指向错误的问题

你的问题出在对__dirname的路径解析上——__dirname指向的是当前执行脚本(也就是src/index.js)所在的目录,也就是src/文件夹。你当前的代码里,虽然写了/dist,但实际上会被解析为相对于src/的路径(Windows系统下绝对路径的写法差异也可能导致这个问题),最终文件生成到了src/dist下面。

要生成到和src同级的dist/JSON目录里,你需要先回到项目的根目录(也就是main/文件夹),再指向dist目录,这里有两种可靠的写法:

方案一:使用path.resolve结合上级目录标识

const file = path.resolve(__dirname, `../dist/JSON/${filename}.json`);
await fs.outputJson(file, {name: "name"});

这里的../会让路径从src/回退到它的上级目录(项目根目录),然后再进入dist/JSON文件夹,这样就能生成到你期望的位置。

方案二:使用path.join(更适配多系统)

const file = path.join(__dirname, '../dist/JSON', `${filename}.json`);
await fs.outputJson(file, {name: "name"});

path.join会自动处理不同操作系统的路径分隔符(比如Windows的\和Linux的/),相对来说更稳妥,也更符合Node.js路径处理的最佳实践。

如果你不确定路径是否正确,可以先打印一下file变量的值验证:

console.log(file);

确认输出的路径是项目根目录下的dist/JSON/xxx.json,而不是src子目录下的路径。

内容的提问来源于stack exchange,提问作者Taylor Austin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 07:29:53