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

Netlify Function部署后出现node-fetch构造函数错误求助

解决Netlify Function部署后"Class extends value # is not a constructor or null"错误

针对你遇到的问题,结合Netlify Functions的运行环境特性,给出以下排查和解决步骤:

  • 锁定Node.js版本:Netlify默认使用的Node版本可能和本地开发环境不一致,导致依赖兼容性问题。在项目根目录创建.nvmrc文件,写入你本地使用的Node版本(比如v18.17.0),Netlify部署时会自动使用该版本,确保环境一致。

  • 排查fetch-blob依赖兼容性:

    • 检查package.json中fetch-blob的版本,尝试降级到稳定兼容版(如fetch-blob@3.2.0),或升级至最新适配Node.js当前版本的版本。
    • 若你的函数使用ESM模块(import语法),确保在项目根目录的package.json中添加"type": "module";若使用CommonJS(require语法),避免混用ESM导入,防止模块解析异常。
  • 清理依赖并重新部署:
    本地执行以下命令清理依赖缓存,确保部署时依赖树干净:

    rm -rf node_modules package-lock.json
    npm install
    

    之后重新触发Netlify部署。

  • 替换第三方Blob实现:Node.js 18及以上版本已内置Blob对象,可尝试将代码中来自fetch-blob的导入替换为Node内置模块:

    // 替换前
    import { Blob } from 'fetch-blob';
    // 替换后
    import { Blob } from 'node:buffer';
    

    避免第三方库与Netlify环境的冲突。

  • 查看Netlify函数详细日志:登录Netlify后台,进入对应站点的"Functions"页面,找到报错的函数,查看完整错误栈日志,能精准定位到引发错误的具体代码位置,进一步缩小问题范围。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:05:21