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

Nuxt3项目中date-fns在Serverless Edge Function运行报错?

解决Nuxt3 + date-fns在Vercel Edge Function部署报错问题

可能的原因与解决方案

1. 调整Nuxt Nitro的外部依赖配置

Vercel Edge Runtime对npm包的打包逻辑和Node环境存在差异,可尝试将date-fns标记为内联外部依赖,让Nitro直接使用运行时版本而非打包处理:

// nuxt.config.ts
export default defineNuxtConfig({
  nitro: {
    externals: {
      inline: ['date-fns']
    }
  }
})

2. 使用date-fns的独立模块导入

改用单独的函数导入路径,避免打包时的模块解析问题:

// server/api/datefns.ts
import subDays from 'date-fns/subDays'

export default defineEventHandler((event) => {
    const someDate = subDays(new Date(), 1);
    
    return {
        someDate,
    }
})

3. 指定Vercel Edge Runtime版本

在vercel.json中明确指定适配的Edge运行时版本,避免版本兼容问题:

{
  "functions": {
    "server/**/*.ts": {
      "runtime": "@vercel/edge@1"
    }
  }
}

4. 禁用不必要的Polyfill

Edge环境无需Node.js相关polyfill,Nuxt默认的polyfill可能与date-fns冲突,可直接禁用:

// nuxt.config.ts
export default defineNuxtConfig({
  build: {
    polyfill: false
  }
})

验证步骤

修改配置后重新部署到Vercel Edge Function,测试/api/datefns接口是否正常返回日期数据。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 20:52:14