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

Vercel部署cmc-proxy失败:Cannot convert undefined or null to object

解决Vercel部署cmc-proxy时ncc编译index.js不存在的错误

问题根源

Vercel部署时默认优先查找index.js作为Node.js函数入口,同时如果项目的build脚本里ncc编译命令指定的是index.js,或者配置文件未被正确识别,就会触发找不到文件的错误。本地运行正常是因为npm start直接执行proxy.js,跳过了ncc编译环节。

解决方案

  1. 替换配置文件为vercel.json
    Vercel现在优先识别vercel.json而非旧版的now.json,虽然now.json有兼容性,但重命名为vercel.json能确保配置被正确读取。配置内容需明确指定函数入口和路由映射:

    {
      "functions": {
        "proxy.js": {
          "runtime": "@vercel/node@2.x"
        }
      },
      "routes": [
        { "src": "/(.*)", "dest": "/proxy.js" }
      ]
    }
    
  2. 修正package.json的build脚本
    检查package.json中的scripts字段,确保build命令里ncc编译的是proxy.js而非index.js:

    "scripts": {
      "start": "node proxy.js",
      "build": "ncc build proxy.js -o dist"
    }
    

    Vercel部署时会自动执行build脚本,若此处指定错误入口,必然触发编译失败。

  3. 手动在Vercel控制台指定入口
    进入Vercel项目的「Settings」→「Build & Development Settings」,在「Functions」区域手动设置Node.js函数的入口文件为proxy.js,强制覆盖默认查找逻辑。

  4. 清理缓存重新部署
    在Vercel控制台点击「Redeploy」,并勾选「Clear build cache」选项,确保旧配置被清除,新的入口设置生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 19:51:53