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

Node.js v18.15.0使用fetch读取本地JSON文件报ERR_INVALID_URL错误

解决Node.js v18.15.0中fetch读取本地文件报ERR_INVALID_URL的问题

Node.js的fetchAPI沿用了浏览器的行为逻辑,仅支持HTTP/HTTPS协议的请求,无法直接识别本地文件路径(比如./localites.json这类相对路径),这就是触发ERR_INVALID_URL错误的原因。

以下是两种可行的解决方式:

  • 使用file://协议访问本地文件
    把本地路径转换为file://协议格式的URL,Node.js支持通过该协议读取本地文件:

    // 方式1:利用import.meta.url生成正确的file URL
    fetch(new URL('./localites.json', import.meta.url))
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(err => console.error(err));
    
    // 方式2:手动拼接file路径
    fetch(`file://${process.cwd()}/localites.json`)
      .then(response => response.json())
      .then(data => console.log(data))
      .catch(err => console.error(err));
    
  • 使用Node.js内置fs模块读取文件
    如果只是读取本地JSON文件,用Node.js原生的文件系统模块会更直接,推荐使用fs/promises的异步方法:

    import { readFile } from 'fs/promises';
    
    readFile('./localites.json', 'utf8')
      .then(rawData => console.log(JSON.parse(rawData)))
      .catch(err => console.error(err));
    

内容的提问来源于stack exchange,提问作者Israel bogninou

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:02:10